OpenML
Sign In

Documentation

Everything you need to get started with OpenML. Learn how to explore datasets, run experiments, and collaborate with the global ML community.

Complete Documentation Available

In-depth guides, API references, and code examples

Full Docs

Getting Started

How to use OpenML

đź’»

Web Interface

Explore datasets, tasks, and experiments through our interactive website

Browse Datasets →
🤖

APIs & Libraries

Access resources programmatically through Python, R, or Java clients

View APIs →
🎓

Learn Concepts

Understand datasets, tasks, flows, runs, and benchmarking

Read Concepts →
Quick Start with Python
Get up and running in 10 minutes

1. Install OpenML

pip install openml

2. Load a dataset

import openml

# Load iris dataset
dataset = openml.datasets.get_dataset(61)
X, y, _, _ = dataset.get_data(target=dataset.default_target_attribute)

3. Run an experiment

from sklearn.ensemble import RandomForestClassifier

# Get a task
task = openml.tasks.get_task(59)

# Run classifier
clf = RandomForestClassifier()
run = openml.runs.run_model_on_task(clf, task)

# Publish to OpenML
run.publish()

Core Concepts

Datasets
Versioned, uniformly formatted data

OpenML hosts 25,000+ datasets with rich metadata, automatic versioning, and consistent formatting. Every dataset includes:

  • Uniform feature types and missing value representations
  • Comprehensive metadata (license, creator, version, etc.)
  • Data quality metrics and preprocessing status
Tasks
Standardized ML challenges

Tasks define how to evaluate a dataset: target variable, train/test splits, and metrics. This ensures all results are directly comparable.

  • Predefined train/test splits (no data leakage)
  • Fixed evaluation metrics (AUC, RMSE, accuracy, etc.)
  • Clear problem type (classification, regression, etc.)
Flows
ML pipelines and workflows

A flow is a machine learning pipeline: preprocessing steps, algorithms, and hyperparameters combined into a reusable, shareable object.

  • Automatically extracted from scikit-learn, PyTorch, etc.
  • Complete parameter tracking and versioning
  • Easily reusable and comparable
Runs
Experiment executions and results

A run is the result of applying a flow to a task. It captures predictions, metrics, runtime, and full provenance.

  • Full evaluation metrics (per-fold, aggregated)
  • Predictions stored for further analysis
  • Hardware and runtime tracking

APIs & Integrations

Python API
Native integration with scikit-learn, PyTorch, TensorFlow

The most popular OpenML client. Seamlessly integrates with the Python ML ecosystem.

R
MLR integration
Java
Weka, MOA support

Benchmarking

OpenML enables rigorous, reproducible benchmarking through benchmark suites — curated collections of tasks designed to stress-test algorithms.

Examples: OpenML-CC18 (classification), AutoML Benchmark, domain-specific suites.

Advanced Topics

Authentication
API keys and publishing
Tagging & Search
Organize and discover resources
Terms & Licenses
Licenses, citations, terms of use
REST API
Direct HTTP access

Ready to Dive Deeper?

Visit our comprehensive documentation for detailed guides, code examples, and API references.