openml0.15.1
openml0.15.1
Published
Python API for OpenML
pip install openml
Package Downloads
Authors
Project URLs
Requires Python
>=3.8
Dependencies
- liac-arff
>=2.4.0
- xmltodict
- requests
- scikit-learn
>=0.18
- python-dateutil
- pandas
>=1.0.0
- scipy
>=0.13.3
- numpy
>=1.6.2
- minio
- pyarrow
- tqdm
- packaging
- nbconvert
; extra == "test"
- jupyter_client
; extra == "test"
- matplotlib
; extra == "test"
- pytest
; extra == "test"
- pytest-xdist
; extra == "test"
- pytest-timeout
; extra == "test"
- nbformat
; extra == "test"
- oslo.concurrency
; extra == "test"
- flaky
; extra == "test"
- pre-commit
; extra == "test"
- pytest-cov
; extra == "test"
- pytest-rerunfailures
; extra == "test"
- mypy
; extra == "test"
- ruff
; extra == "test"
- matplotlib
; extra == "examples"
- jupyter
; extra == "examples"
- notebook
; extra == "examples"
- nbconvert
; extra == "examples"
- nbformat
; extra == "examples"
- jupyter_client
; extra == "examples"
- ipython
; extra == "examples"
- ipykernel
; extra == "examples"
- seaborn
; extra == "examples"
- sphinx
>=3; extra == "docs"
- sphinx-gallery
; extra == "docs"
- sphinx_bootstrap_theme
; extra == "docs"
- numpydoc
; extra == "docs"
OpenML-Python

The Python API for a World of Data and More :dizzy:
OpenML-Python provides an easy-to-use and straightforward Python interface for OpenML, an online platform for open science collaboration in machine learning. It can download or upload data from OpenML, such as datasets and machine learning experiment results.
:joystick: Minimal Example
Use the following code to get the credit-g dataset:
import openml
dataset = openml.datasets.get_dataset("credit-g") # or by ID get_dataset(31)
X, y, categorical_indicator, attribute_names = dataset.get_data(target="class")
Get a task for supervised classification on credit-g:
import openml
task = openml.tasks.get_task(31)
dataset = task.get_dataset()
X, y, categorical_indicator, attribute_names = dataset.get_data(target=task.target_name)
# get splits for the first fold of 10-fold cross-validation
train_indices, test_indices = task.get_train_test_split_indices(fold=0)
Use an OpenML benchmarking suite to get a curated list of machine-learning tasks:
import openml
suite = openml.study.get_suite("amlb-classification-all") # Get a curated list of tasks for classification
for task_id in suite.tasks:
task = openml.tasks.get_task(task_id)
:magic_wand: Installation
OpenML-Python is supported on Python 3.8 - 3.13 and is available on Linux, MacOS, and Windows.
You can install OpenML-Python with:
pip install openml
:page_facing_up: Citing OpenML-Python
If you use OpenML-Python in a scientific publication, we would appreciate a reference to the following paper:
Bibtex entry:
@article{JMLR:v22:19-920,
author = {Matthias Feurer and Jan N. van Rijn and Arlind Kadra and Pieter Gijsbers and Neeratyoy Mallik and Sahithya Ravi and Andreas Müller and Joaquin Vanschoren and Frank Hutter},
title = {OpenML-Python: an extensible Python API for OpenML},
journal = {Journal of Machine Learning Research},
year = {2021},
volume = {22},
number = {100},
pages = {1--5},
url = {http://jmlr.org/papers/v22/19-920.html}
}