Skip to main content

ML for reasonable results in a reasonable amount of time

Project description

Fast AutoML

Most autoML packages aim for exceptional performance but need to train for an exceptional amount of time. Fast-autoML aims for reasonable performance in a reasonable amount of time.

Fast-autoML includes additional utilities, such as tools for comparing model performance by repeated cross-validation.

Installation

$ pip install fast-automl

Quickstart

from fast_automl.automl import AutoClassifier

from sklearn.datasets import load_digits
from sklearn.model_selection import cross_val_score, train_test_split

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, shuffle=True, stratify=y)

clf = AutoClassifier(ensemble_method='stepwise', n_jobs=-1, verbose=True).fit(X_train, y_train)
print('CV score: {:.4f}'.format(cross_val_score(clf.best_estimator_, X_train, y_train).mean()))
print('Test score: {:.4f}'.format(clf.score(X_test, y_test)))

This runs for about 6-7 minutes and typically achieves a test accuracy of 96-99% and ROC AUC above .999.

from fast_automl.automl import AutoRegressor

from sklearn.datasets import load_diabetes
from sklearn.model_selection import cross_val_score, train_test_split

X, y = load_diabetes(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, shuffle=True)

reg = AutoRegressor(n_jobs=-1, verbose=True).fit(X_train, y_train)
print('CV score: {:.4f}'.format(cross_val_score(reg.best_estimator_, X_train, y_train).mean()))
print('Test score: {:.4f}'.format(reg.score(X_test, y_test)))

This runs for about 30 seconds and typically achieves a test R-squared of .47-.53.

Citation

@software{bowen2021fast-automl,
  author = {Dillon Bowen},
  title = {Fast-AutoML},
  url = {https://dsbowen.github.io/fast-automl/},
  date = {2021-02-05},
}

License

Users must cite this package in any publications which use it.

It is licensed with the MIT License.

Acknowledgments

This package and its documentation draw heavily on scikit-learn.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fast-automl-0.0.1.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

fast_automl-0.0.1-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file fast-automl-0.0.1.tar.gz.

File metadata

  • Download URL: fast-automl-0.0.1.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for fast-automl-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9baea86ba557ff2b2f019033f3326522c1a1c88d18751454c29880b2805d6bcd
MD5 9d0d8305012c1ae2e3a980ef4d9029b0
BLAKE2b-256 91a510f3f20bcee93bc99b561822d9eb9070d56796473216eb9d723098cd47e5

See more details on using hashes here.

File details

Details for the file fast_automl-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: fast_automl-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for fast_automl-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a63f9655533816b0d1afb2ca654c64b0a2a06c6514116d8f57e1ad3e48d6cec6
MD5 47f55a5041f3253d9792437999e6c30d
BLAKE2b-256 841f26c8c79a102e4f65b09eddccbf2f42eb347566027fbed23fa98b3335b5b8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page