Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* Initial commit

* Updated release notes

* Added test cases for other allowed parameters

* Change from exclude to excluded

* Fix tests

* Fix null

* FIx check

* Update tests

* Fixed error handling of multi params

* Final test fixes

* Fix typo

* Update docstring and default

* Removed brackets as option

* Centralize model families code

* Centralize model families code

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Tests Documentation Status PyPI Version Anaconda Version PyPI Downloads

EvalML is an AutoML library which builds, optimizes, and evaluates machine learning pipelines using domain-specific objective functions.

Key Functionality

  • Automation - Makes machine learning easier. Avoid training and tuning models by hand. Includes data quality checks, cross-validation and more.
  • Data Checks - Catches and warns of problems with your data and problem setup before modeling.
  • End-to-end - Constructs and optimizes pipelines that include state-of-the-art preprocessing, feature engineering, feature selection, and a variety of modeling techniques.
  • Model Understanding - Provides tools to understand and introspect on models, to learn how they'll behave in your problem domain.
  • Domain-specific - Includes repository of domain-specific objective functions and an interface to define your own.


Install from PyPI:

pip install evalml

or from the conda-forge channel on conda:

conda install -c conda-forge evalml


Update checker - Receive automatic notifications of new Woodwork releases


pip install "evalml[updater]"


conda install -c conda-forge alteryx-open-src-update-checker


Load and split example data

import evalml
X, y = evalml.demos.load_breast_cancer()
X_train, X_test, y_train, y_test = evalml.preprocessing.split_data(X, y, problem_type='binary')

Run AutoML

from evalml.automl import AutoMLSearch
automl = AutoMLSearch(X_train=X_train, y_train=y_train, problem_type='binary')

View pipeline rankings


Get best pipeline and predict on new data

pipeline = automl.best_pipeline

Next Steps

Read more about EvalML on our documentation page:


The EvalML community is happy to provide support to users of EvalML. Project support can be found in four places depending on the type of question:

  1. For usage questions, use Stack Overflow with the evalml tag.
  2. For bugs, issues, or feature requests start a Github issue.
  3. For discussion regarding development on the core library, use Slack.
  4. For everything else, the core developers can be reached by email at

Built at Alteryx

EvalML is an open source project built by Alteryx. To see the other open source projects we’re working on visit Alteryx Open Source. If building impactful data science pipelines is important to you or your business, please get in touch.

Alteryx Open Source