Getting Started¶
The AutoML Benchmark is a tool for benchmarking AutoML frameworks on tabular data. It automates the installation of AutoML frameworks, passing it data, and evaluating their predictions. Our paper describes the design and showcases results from an evaluation using the benchmark. This guide goes over the minimum steps needed to evaluate an AutoML framework on a toy dataset.
Full instructions can be found in the API Documentation.
Installation¶
These instructions assume that Python 3.9 (or higher)
and git are installed,
and are available under the alias python
and git
, respectively. We recommend
Pyenv for managing multiple Python installations,
if applicable. We support Ubuntu 22.04, but many linux and MacOS versions likely work
(for MacOS, it may be necessary to have brew
installed).
First, clone the repository:
git clone https://github.com/openml/automlbenchmark.git --branch stable --depth 1
cd automlbenchmark
Create a virtual environments to install the dependencies in:
Linux¶
python -m venv venv
source venv/bin/activate
MacOS¶
python -m venv venv
source venv/bin/activate
Windows¶
python -m venv ./venv
venv/Scripts/activate
Then install the dependencies:
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Note for Windows users
The automated installation of AutoML frameworks is done using shell script,
which doesn't work on Windows. We recommend you use
Docker to run the
examples below. First, install and run docker
.
Then, whenever there is a python runbenchmark.py ...
command in the tutorial, add -m docker
to it (python runbenchmark.py ... -m docker
).
Problem with the installation?
On some platforms, we need to ensure that requirements are installed sequentially.
Use xargs -L 1 python -m pip install < requirements.txt
to do so. If problems
persist, open an issue with
the error and information about your environment (OS, Python version, pip version).
Running the Benchmark¶
To run a benchmark call the runbenchmark.py
script specifying the framework to evaluate.
See the API Documentation. for more information on the parameters available.