What is Auger?

What is an “auger”? Well, it’s a drill bit. And a misspelling of “augur” — to predict. Beyond the bad pun, it’s also our tool for automated machine learning.

The most difficult part of most machine learning projects is choosing the predictive model and its hyperparameters. After data is gathered most data scientists spend months choosing from various predictive algorithms, tweaking their options (hyperparameters) and the feature set to get acceptable accuracy. Often, once that threshold is reached, the data is stale and the underlying business conditions have changed.

A common scenario is a business which gathers their data for machine learning-based prediction. They then submit this to Google Prediction Services or one of AWS machine learning’s algorithms and get some results. Google, Amazon, and others offer services to let you evaluate different hyperparameter settings for the chosen algorithm, but the data scientist still needs to try various algorithms and modify the feature set (adding features for particular algorithms or removing them to reduce dimensionality).

Auger’s Algorithm/Hyperparameter Search Versus Other AutoML Products

Auger did not create the concept of automated machine learning. There are many other AutoML tools. But, in contrast to the predominant technique of “grid search” in other products, Auger uses a sophisticated Bayesian optimization-based approach to intelligently traverse available algorithms and hyperparameters.

We also start the search of algorithms and hyperparameters with “warm start”: an intelligent assessment of good likely values. This is done by analyzing the dataset presented and its similarity to previously trained datasets.

Auger also narrows down the algorithms searched based on aspects of the dataset. In many cases, we can drastically reduce the search space of algorithms evaluated.

Algorithm Implementations

In addition to choosing the best algorithms, Auger features several implementations of popular machine learning prediction algorithms. These are either faster than more commonly available implementations, or early implementations of algorithms that are not widely available. Examples of such algorithms include logistic regression, linear regression, linear support vector machine, random forest, gradient, and Ada boosting, decision tree and random forest, and various naive Bayes classifiers.

Auger also generates deep learning multi-layer neural network topologies for both prediction and classification problems. It even optimizes the topology of these networks for the problem. This is not something other AutoML tools do today.

Finally, Auger generates ensembles, combinations of underlying algorithms, to improve the algorithm even further. Ensembles are usually used in the final stages of optimizing model performance, often combining the best underlying algorithms.

Auger continues to add more algorithms, especially deep learning approaches as new techniques emerge.

Data Preprocessing

The only task close to the effort of trying algorithms and their hyperparameters is getting data ready to process. Auger performs many preprocessing tasks, most of which are not performed by other automated machine learning tools.

These include:
  • handling missing values
  • generating categorical features (whether or not the user has identified it as categorical, and handling scenarios where there may be too many categories)
  • handling sparse features (such as those containing mostly empty values or zeros) with dimensionality reduction
  • generating multiple features from date/time values
  • feature elimination (based on the distribution of the data)
More details of Auger’s data preprocessing features are presented here.

Runtime Prediction Service

Finally, once the model is trained, Auger provides you with a web service prediction endpoint to generate predictions or classifications from new data that you encounter in your applications. This offers a rapid path to using your generated models. The combination of automated machine learning algorithm choice with instant runtime endpoints reduces the typical lifecycle of determining the need for a model, to use it in your applications, from months to hours.

If you’ve struggled to get sufficient prediction or classification accuracy, give Auger a try! We want to hear how it works for you. Write to us at with how it’s working. You will probably get some free data science consulting out of it.