Auto ML
Auto ML
Abstract—There has been considerable growth and interest in Scikit-learn (2007-2010), H2O (2011), and Spark MLlib
industrial applications of machine learning (ML) in recent years. (2013) among many others. Deep Neural Network platforms
ML engineers, as a consequence, are in high demand across the have also gained popularity in the last 5 years. Tensorflow
industry, yet improving the efficiency of ML engineers remains a
fundamental challenge. Automated machine learning (AutoML) (2015), Keras (2015) and MXNet (2015) contributed to the
has emerged as a way to save time and effort on repetitive tasks wide adoption of deep learning models.
in ML pipelines, such as data pre-processing, feature engineering, During this time period it became evident to many ML
model selection, hyperparameter optimization, and prediction practitioners that extracting the best performance from ma-
result analysis. In this paper, we investigate the current state chine learning models requires substantial human expertise.
of AutoML tools aiming to automate these tasks. We conduct
various evaluations of the tools on many datasets, in different Developing good models from a dataset is almost an art
data segments, to examine their performance, and compare their form involving intuition, experience, and many tedious manual
advantages and disadvantages on different test cases. tasks to tune algorithmic parameters. The combination of
Index Terms—AutoML, automated machine learning, driver- market pressure for more ML engineers, and the tedious nature
less AI, model selection, hyperparameter optimization of developing ‘optimal’ ML solutions sparked the idea of
automating the ML tasks.
I. I NTRODUCTION AutoML’s initial effort came out of academia and ML
Automated Machine Learning (AutoML) promises major practitioners first, and later startups. One of the first at-
productivity boosts for data scientists, ML engineers and ML tempts was Auto-Weka (2013) [1] from Universities of British
researchers by reducing repetitive tasks in machine learning Columbia (UBC) and Freiburg, which utilizes algorithms
pipelines. There are currently a number of different tools provided by Weka [2]. Auto-sklearn (2014) [3] came next
and platforms (both open-source and commercially available from the University of Freiburg. TPOT [4] was developed
solutions) that try to automate these tasks. The goal of this at the University of Pennsylvania (2015). Auto-ml [5], an
paper is to address the following questions: (i) what are the open-source python package, was released in 2016 (to avoid
available ML functionalities provided by the tools; (ii) how confusion with the general term ‘AutoML’, please note the
the tools perform when facing a wide spectrum of real world spelling for this tool). Auto-sklearn, Auto-ml, and TPOT are
datasets; (iii) find the trade-off between optimization speed all built on the well-known ‘scikit-learn’ ML package. Other
and accuracy of the results; and (iv) the reproducibility of the tools followed, including Auto-Keras (2017) [6] from the
results (a.k.a. tool robustness). Texas A&M University running on top of Keras, Tensorflow
The rest of the paper is organized as follows. Section II and Scikit-learn. MLjar (2018) [7] also uses Scikit-learn, in
covers the history and background of AutoML tools. Next, in conjunction with Tensorflow. On the same timeframe, some
Section III we compare the tools’ features and functionalities startups started developing their tools for AutoML. Datarobot
on an automated ML pipeline including data preprocess- [8], [9], [10] launched its automated machine learning tool
ing, model selection, hyperparameter optimization, and model in 2015. H2O-Automl [11], [12] was introduced by the H2O
interpretation. After that, in Section IV we experimentally (2016), using ML models from the H2O platform. The H2O
evaluate the performance of a selected subset of these tools team later released their commercialized H2O-DriverlessAI
on a large variety of datasets and a range of supervised ML product (2017) [13], and SparkCognition introduced Darwin
tasks. Finally, we conclude the paper in Section V. (2018) [14] utilizing their own ML platform.
After a while, the large cloud providers and technology
II. BACKGROUND AND H ISTORY companies followed suit, offering Automated Machine Learn-
Between 1995 to 2015 many ML libraries and tools were ing as a Service (AMLaaS) or standalone products. Google
developed, spanning from Weka (1990s), RapidMiner (2001), Cloud Automl (2017) [15] runs on Google Cloud platform.
Microsoft AzureML (2018) [16] takes advantage of algorithms input to convert categorical data into integers (e.g., using label
on Azure, and Salesforce’s TransmogrifAI (2018) [17] runs on encoder) before any other transformation. TPOT and Auto-
top of Spark ML, and Uber’s Ludwig (2019) [18] runs model keras do not provide either data preprocessing or feature gener-
training on Horovod, Uber’s open-source distributed training ation steps and instead require users to manually perform data
framework. pre-processing, and only accept numerical feature matrices.
The aforementioned platforms emphasize different as-
pects of the AutoML space. For example, Darwin, H2O-
DriverlessAI and DataRobot provide the functionality of de-
B. Model Selection, Hyperparameter Optimization, and Archi-
tecting and processing time-series data. They also offer inter-
tecture Search
active UI to help customers experiment quickly with different
machine learning tasks. H2O-DriverlessAI exports a Plain Old
In this step, the extracted features from the previous step are
Java Object (POJO) or a Model ObJect Optimized (MOJO)
used to train many different types of models, each with many
for the optimized models to be easily deployed in any Java-
different sets of parameters (hyperparameter optimization),
supported platform. TPOT exports optimized code for develop-
then the best model (or an ensemble of models) is selected
ers. Auto-ml offers ‘categorical ensembling’, where segments
as the final model. Each tool supports a collection of existing
of categories in a column can have different models. Google
machine learning algorithms to build models. They include,
Cloud AutoML and Auto-keras conduct neural network search
but not limited to, Logistic Regression, tree-based algorithms,
[19], [20], for both image and text data.
SVM, and neural network models. H2O-Automl, Ludwig,
III. AUTO ML PLATFORMS ’ FEATURES AND DataRobot, Darwin, Auto-ml, Auto-sklearn, MLjar, Transmo-
FUNCTIONALITY COMPARISON : T HE COMMON PIPELINE grifAI, and TPOT all work in this fashion for supervised
methods. DataRobot, H2O-DriverlessAI and Darwin provide
additional unsupervised methods such as clustering and outlier
detection. TPOT and Darwin also utilize genetic algorithms to
iteratively select the best traits of each model and pass them
to the next generation. Google Cloud AutoML and Auto-keras
Fig. 1. The common AutoML pipeline. work differently, utilizing neural architecture search to select
the best neural network model.
For hyperparameter optimization, some of the most popular
Most AutoML tools follow a common three stage pipeline methods are grid search, random search, and Bayesian search.
illustrated in Figure 1. In general, these three components Auto-Weka uses SMAC (Sequential Model-based Algorithm
are optimized iteratively to obtain the best outcome. Figure 2 Configuration, [21]) while Auto-sklearn utilizes SMAC3, a
briefly summarizes the comparison across the surveyed tools. re-implementation of SMAC to efficiently perform Bayesian
More detailed comparisons follow in the subsequent sections. optimization. H2O-Automl and MLjar apply random search
on the parameter spaces, while H2O-DriverlessAI, Ludwig,
A. Data Preprocessing and Feature Engineering Auto-ml, TransmogrifAI and Auto-keras use both random and
Data preprocessing is typically the first task in ML Bayesian search.
pipelines. At the moment, this task is not handled very well In order to reduce time for model search and hyperparameter
by any of the AutoML tools and still requires considerable optimization, it is common to prune the parameter space. In
human intervention. In particular, this task requires data type the first approach, the tools attempt to quickly find an initial
and schema detection which have not been widely supported parameter set. Auto-sklearn and Darwin use pre-processed
among the AutoML tools. However, once data types are ‘meta-features’ from previously trained datasets, each with
identified, the tools provide appropriate feature engineering a known ‘meta-learner’. Given a target dataset, they find a
for the next component in the pipeline. TransmogrifAI seems similar dataset based on ‘meta-feature’, and use the closest
to be further ahead in this regard by supporting different ’meta-learners’ as the initial model. The second approach is
detailed data types detection (e.g., addresses, phone numbers, to use the relationship between model selection and hyper-
names, currency, etc), however this functionality appears to parameter optimization. H2O-Automl uses the combination
not be very stable on multiple datasets. H2O-Automl, H2O- of random grid search with stacked ensembles, as diversified
DriverlessAI, DataRobot, MLjar and Darwin gain some ad- models improve the accuracy of ensemble method. The third
vantage by offering the ability to detect basic data types or approach is to fix an allowed runtime for the tools to search
schemas, currently limited to numerical, categorical and time- for a best model. All AutoML tools, except Auto-ml, currently
series data. Auto-ml, Auto-sklearn, AzureML and Ludwig offer this option. The fourth approach (only applies for H2O-
are less favorable here, in the sense that they can only do Automl and Auto-sklearn) is to restrict the parameters that
feature engineering from user-input specifications, e.g. data cause a slow optimization. For example, non-linear feature
types for each column. The other tools need much more human approximation combined with KNN models is restricted as it
interaction on feature engineering. Auto-sklearn requires users dramatically slows down the optimization.
Fig. 2. Comparison table of functionality for AutoML tools. (+): commercialized tools; (∗ ): the function is not very stable, it fails for some datasets; (2∗ ):
categorical input must be converted into integers; (3∗ ): datasets have to include headers; (4∗ ): missing values must be represented as NA; (5∗ ): multiclass
classification not provided; (6∗ ): need some users’ input for dataset description such as column types; (7∗ ): ability to detect primitive data types and rich data
types such as: text (id, url, phone), numerical (integer, real); (8∗ ): advanced feature processing: bucketing of values, removing features with zero variance
or features with drift over time; (9∗ ): supervised learning includes binary classification, multiclass classification, regression; (10∗ ): unsupervised learning
includes clustering and anomaly detection; (11∗ ): model interpretation and explainability refers to techniques such as LIME, Shapley, Decision Tree Surrogate,
Partial Dependence, Individual Conditional Expectation, Lift chart, feature fit, prediction distribution plot, accuracy over time, hot spot and reason codes;
(12∗ ): confirmed by a company spokesperson, we could not find public documentation at the time of publication; In a few empty cells, it is not clear that
the functionality is provided from documentations of the tools, to the best of our knowledge.
features ratio (defined as the ratio of number of categorical AutoML tools proved to be capable of hitting the 70% target
features over total number of features), missing proportion within 15 minutes for binary classification. 5 out of the 6
(proportion of samples with at least one missing feature), and tools (all but Darwin) hit 70% target for regression, and 4
class imbalance (samples in minority class vs. in majority out of 6 tools hit the 70% target in multiclass classification,
class). Each dataset is divided into two parts, one for training (TPOT nearly reaches the target, and Darwin misses the target
and another for testing with the ratio 4 : 1. All AutoML tools again). As Darwin appears to be slow in convergence, and to
are applied to the same training and testing proportions of all be fair to the other tools, it is excluded from our completion
datasets. For all evaluations, the following tools and associated target analysis. We therefore decide to run all our extensive
versions are used: Darwin 1.6, Auto-sklearn 0.5.2, Auto-keras experiments (5,400) for 15 minutes time-limits, for a total
0.4.0, Auto-ml 2.9.10, Ludwig 0.1.2, H2O-Automl [Link], of 1,350-hour EC2 run-time (which includes the overhead
TPOT 0.10.1. of benchmark harness code), where the results are detailed
In the next subsections, we will evaluate AutoML tools in Section IV-A. We then run another experiment with a
on different test cases, each with three different supervised randomized subset of our datasets for longer time limits to
learning tasks: binary classification, multiclass classification, evaluate the performance of the tools when more time is given
and regression. All experiments are run on Amazon EC2 to finish. The results of this latter experiment (3 tasks, 5 data
[Link] instances, which provide 1 Tesla K80 GPU, 4 vCPUs segments, 6 run-time periods, 7 tools, for a total of 717 EC2
(Intel Xeon E5-2686, 2.30Ghz) and 61 GiB of host memory. hours including benchmark harness overhead) are detailed in
Setting a time-limit for all experiments is not straightfor- Section IV-B. Note that the Auto-ml tool was not included in
ward. On the one hand, we would like to let each tool run the extensive experiments as it does not offer an option to limit
as long as it takes to produce the best results. On the other its run-time from a user-input value (15 minutes in our case),
hand, with 3 ML tasks, 300 datasets and 6 tools, we have it simply can only run to completion. As such, its results are
5,400 experiments to run. To keep the experiment run-time only included among the experiments in Section IV-B.
and cost to practical limits, we aim for a ‘completion target’
of 70%, i.e., we select a run-time for which all tools are able
to finish the AutoML tasks for 70% of the datasets. All the
Fig. 5. Evaluation of AutoML tools on multiclass classification task across ten data segments (depicted in Figure 3). Each diagram refers to a data segment.
All experiments are run up to 15 minutes. Some experiments are completed faster but in some other cases, several tools cannot obtain results after that time
limit. Specifically, the percentage of experiments that did not finish in 15 minutes are: Auto-keras 2%, H2O-Automl 21%, Ludwig 24%, Auto-sklearn 30%,
TPOT 35%, Darwin 51%.
A. Evaluation on multiple data segments except Ludwig and Darwin. Comparing the tools against each
In this section, we investigate the performance of the tools other, H2O-Automl and Darwin slightly outperform the rest,
across many datasets and applications (please see Table I in the however it is worth reiterating that Darwin cannot deliver re-
Appendix for the detailed descriptions on the datasets). To that sults for 26% of all datasets. Auto-sklearn and TPOT perform
end, the evaluated data is divided into ten segments (as shown slightly worse than the aforementioned tools. Auto-keras does
in Figure 3), each including ten random datasets. ‘Accuracy’ not perform as well as other tools for most datasets in binary
is the comparison metric used for binary and multiclass classification. As noted before, in this experiment, we limit
classification tasks and ‘Mean Squared Error (MSE)’ is used the optimization time to 15 minutes. Here, TPOT manages
for regression tasks. to complete and deliver results within the 15-minutes time
Figure 4 shows the performance of AutoML tools for binary limit for 87% of datasets, while Darwin and Auto-sklearn
classification task in different data segments. In this Figure, the suffer slightly higher non-delivering ratios of 26% and 30%
performance is represented in the box-whisker format, where respectively. Ludwig’s performance appears to fluctuate the
each box shows the median, and the first and third quartiles most compared to other tools.
of the performance at the two ends. Note that, for the data The performance of the tools for muticlass classification
segment with class imbalance (third row in Figure 4), F1- is illustrated in Figure 5. Here, minimal variation was found
score is used instead of the regular accuracy as it is a more when evaluating between data segments of the same categories
appropriate metric for imbalanced data. (the two graphs in each row). For this multiclass classification
It can be observed from Figure 4 that, the performance task, Auto-keras and Auto-sklearn slightly outperform the rest,
of AutoML tools fluctuate more with a larger number of even though Auto-sklearn cannot deliver results within the
categorical features, and fluctuate less with more data samples. time limit for 30% of datasets. TPOT comes next after these
This makes intuitive sense, as the tools will learn better with two tools. Finally, Ludwig, H2O-Automl and Darwin perform
more data samples, and each tool has different approaches to slightly worse than the rest.
encode categorical values that result in different performance. Figure 6 shows the performance of the tools for regression
In addition, most tools suffer from the imbalanced datasets task. The results from this task has similar trends to binary
Fig. 6. Evaluation of AutoML tools on regression task across ten data segments (depicted in Figure 3). Each diagram refers to a data segment. All experiments
are run up to 15 minutes. Some experiments are completed faster but in some other cases, several tools cannot obtain results after that time limit. Specifically,
the percentage of experiments that did not finish in 15 minutes are: Auto-keras 4%, H2O-Automl 11%, Auto-sklearn 20%, Ludwig 24%, TPOT 25%, Darwin
56%
classification on categorical features. Furthermore, the perfor- better results given more time availability. We performed var-
mance variance tends to increase for all tools when the features ious time-limit experiments for datasets with different sample
dimensions decreases, or missing proportion increases. For this sizes. Here, we randomly select a dataset given a sample size
task, H2O-Automl and Auto-sklearn slight outperform Auto- range (i.e., we pick a uniformly random dataset among all
keras and TPOT while Darwin cannot deliver results on half datasets in each sample size range) and evaluate each tools’
of the datasets. accuracy bounded by the time limits: 5 minutes, 15 minutes,
To summarize what we have seen from the three different 30 minutes, 1 hour, 2 hours and 3 hours. Since the dataset sizes
ML tasks, Auto-keras does not perform as well as other tools do not exceed one million samples, the maximum allotted time
for some datasets in binary classification. In other words, of 3 hours should allow the tools to converge. Figure 7 shows
whether Auto-keras can perform well or not (in binary clas- the results of this evaluation. As observed from the figure,
sification) depends significantly on the nature of the dataset. most tools can generally improve the performance (increase
For multiclass classification, H2O-Automl performs slightly the accuracy for classification tasks and decrease the mean-
worse than the rest. For the regression task, Auto-keras, H2O- squared error for regression task) given more time for their
Automl and Auto-sklearn outperform the rest for most data optimization. Among the tools, H2O-Automl, Auto-keras and
segments (even though Auto-sklearn struggles somewhat more Ludwig converge to the optimal performance very quickly
to complete results in the allotted 15 minutes, failing in 26% for most cases, roughly within 15 minutes. Auto-sklearn
of datasets). TPOT performs slightly worse than those three needs almost 2-3 hours to obtain reasonable results while
tools, Ludwig’s performance varies across the datasets, and TPOT converges slightly faster. Darwin appears fluctuating its
Darwin can only complete work on about half of the datasets performance even with more time for optimization.
in the allotted 15 minutes.
C. Evaluation on robustness
B. Evaluation on time limit In this evaluation, we test the robustness of AutoML tools,
Our next targeted evaluation is to explore the impact of time i.e., whether the tools deliver similar results across multiple
limit in order to investigate how quickly the tools can deliver runs on the same input datasets. For each task, we select a
the results, and whether the tools can consistently guarantee random dataset with the sample size from 10000 to 50000
Fig. 7. Evaluation of AutoML on multiple time limits. The left (middle) subgraphs show the accuracy of tools for binary (multiclass) classification. The right
subgraphs show the mean squared error of tools for regression. From top-to-bottom: each row shows a random dataset in the increasing order of the sample
size, from 1000 to 100000. Note: In the left graph of the third row, all tools except Darwin obtain the same performance although the graph displays only
the result for TPOT; in the graphs at the rows 3 & 4, column 3, all tools except Auto-keras and Auto-ml cannot deliver results due to the large number of
features, roughly 62000 and 21000, respectively; in the second graph of third column, we omit the results of Ludwig as its error is roughly 100-times larger
than the others.
(this is a common sample size for many real-world datasets) V. C ONCLUSIONS AND F UTURE W ORK
and run each tool on it for ten different times, each times in
In this paper, we have evaluated AutoML tools on their
10 minutes. The results are illustrated in Figure 8. We observe
capabilities in the common machine learning pipeline. At
that H2O-Automl and Ludwig obtain very stable performance
the current state, different tools have different approaches
across three different tasks. Darwin, Auto-keras and Auto-ml
for model selection and hyperparameter optimization. Com-
get slightly less stable performance than H2O-Automl. TPOT
mercialized tools such as H2O-DriverlessAI, DataRobot and
and Auto-sklearn are somewhat unstable in regression task.
Darwin extend their offering functionality on the first and the
It is worth noting that even though Ludwig’s performance is
third component of the pipeline where they are able to detect
very stable, it deviates largely from others.
the data schema, run feature engineering, and analyze the
detailed results for interpretation purpose. In contrast, open
source tools focus more on the second task in the pipeline, [4] R. S. Olson, N. Bartley, R. J. Urbanowicz, and J. H. Moore, “Evaluation
which is training and selecting the best model itself. of a tree-based pipeline optimization tool for automating data science,” in
Proceedings of the Genetic and Evolutionary Computation Conference
In addition, we have evaluated tools across many datasets (GECCO) 2016. New York, NY, USA: ACM, 2016, pp. 485–492.
on different data segments. We observed that most AutoML [5] “Auto-ml: Automated machine learning for production and analytics,”
[Link] ml$, accessed: 2019-04-10.
tools obtain reasonable results in terms of their performance [6] H. Jin, Q. Song, and X. Hu, “Auto-keras: An efficient neural architecture
across many datasets. However, there is no perfect tool at the search system,” in arXiv, 2018.
current state yet, no tool managed to outperform all others [7] “Mljar,” [Link] accessed: 2019-04-
10.
on a plurality of tasks. Across the various evaluations and [8] “Datarobot usage examples,” [Link]
benchmarks we have tested, H2O-Automl, Auto-keras and datarobot-sagemaker-examples, accessed: 2019-04-10.
Auto-sklearn performed better than Ludwig, Darwin, TPOT [9] “Datarobot documentation,” [Link] ac-
cessed: 2019-04-10.
and Auto-ml. In particular, H2O-Automl slightly outperforms [10] “Datarobot python client,” [Link]
the rest for binary classification and regression, and quickly [Link]/en/v2.11.0/setup/getting{ }[Link],
converges to the optimal results. However, it suffers from low accessed: 2019-04-10.
[11] “[Link] automl github,” [Link] accessed: 2019-
performance in multiclass classification. Auto-keras is very 04-10.
stable across all tasks and performs slightly better than the [12] “[Link] automl documentation,” [Link]
rest for multiclass classification and ties with H2O-Automl for h2o-docs/[Link], accessed: 2019-04-10.
[13] “H2o-driverlessai,” [Link]
regression, but suffers from low performance in binary classi- userguide/[Link], accessed: 2019-04-10.
fication. For a production environment where the computation [14] “Darwin-sparkcognition,” [Link]
speed and performance stability are key requirements, these accessed: 2019-04-10.
[15] “Google cloud automl,” [Link] accessed:
two tools might be good candidates depending on applications 2019-04-10.
and machine learning tasks. Auto-sklearn ties with H2O- [16] “Automated machine learning with azureml,” [Link]
Automl and Auto-keras for all tasks but it is comparatively Azure/MachineLearningNotebooks/tree/master/how-to-use-azureml/
automated-machine-learning, accessed: 2019-04-10.
slower than the other two and usually requires longer run [17] “Transmogrifai,” [Link] accessed:
time. Other tools such as Ludwig, Darwin, TPOT and Auto- 2019-04-10.
ml showed more varying results depending on the dataset and [18] “Ludwig,” [Link] accessed: 2019-04-10.
[19] B. Zoph and Q. Le, “Neural architecture search with reinforcement
task. learning,” in arXiv, Nov. 2016.
Ultimately there is no one AutoML tool at this point that [20] H. Pham, M. Guan, B. Zoph, Q. Le, and J. Dean, “Efficient neural
can clearly outperform every other tool. We are at an early architecture search via parameters sharing,” in Proceedings of the
35th International Conference on Machine Learning, vol. 80, Stock-
juncture for Automated Machine Learning, and there are holmsmssan, Stockholm Sweden, 10–15 Jul 2018, pp. 4095–4104.
many innovations announced at a rapid pace. We believe as [21] F. Hutter, H. H. Hoos, and K. Leyton-Brown, “Sequential model-based
the tools mature and borrow ideas from each other, they will optimization for general algorithm configuration,” in Proceedings of the
5th International Conference on Learning and Intelligent Optimization,
gain more strength in their core task. We also observed a gap ser. LION’05, 2011, pp. 507–523.
in the AutoML tools’ support for the first and third stages [22] J. Vanschoren, J. N. van Rijn, B. Bischl, and L. Torgo, “Openml:
of the AutoML pipeline, and expect major developments to Networked science in machine learning,” ACM SIGKDD Explorations
Newsletter, vol. 15, pp. 49–60, Jun. 2014.
happen in those areas in near future.
A PPENDIX
Disclaimer: For commercialized tools, our analyses
and descriptions are consistent with our understanding
derived from publicly available documentation and product
descriptions. In some of these cases, we are unable to explore
source code and regret any factual errors that may arise.
A subsidiary of Capital One - Capital One Ventures - is an
investor in [Link]. During the course of our research we were
neither in contact with [Link] nor Capital One Ventures.
R EFERENCES