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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9baea86ba557ff2b2f019033f3326522c1a1c88d18751454c29880b2805d6bcd |
|
MD5 | 9d0d8305012c1ae2e3a980ef4d9029b0 |
|
BLAKE2b-256 | 91a510f3f20bcee93bc99b561822d9eb9070d56796473216eb9d723098cd47e5 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a63f9655533816b0d1afb2ca654c64b0a2a06c6514116d8f57e1ad3e48d6cec6 |
|
MD5 | 47f55a5041f3253d9792437999e6c30d |
|
BLAKE2b-256 | 841f26c8c79a102e4f65b09eddccbf2f42eb347566027fbed23fa98b3335b5b8 |