Skip to main content

Online Automated Machine Learning for river

Project description

incremental dl logo

EvO AutoML is a Python library for Evolution based Online AutoML. EvO AutoML ambition is to enable hyperparameter optimization for online machine learning pipelines build on river.

PyPI PyPI - Downloads GitHub

EvO AutoML

EvO AutoML is a Python library for Evolution based Online AutoML.

💈 Installation

Use the package manager pip to install EvoAutoML.

pip install evoautoml

You can install the latest development version from GitHub as so:

pip install https://github.com/kulbachcedric/EvOAutoML//archive/refs/heads/master.zip

🍫 Quickstart

Classification

>>> from river import datasets, ensemble, evaluate, metrics, compose, optim
>>> from river import preprocessing, neighbors, naive_bayes, tree, linear_model
>>> from EvOAutoML import classification, pipelinehelper
>>> dataset = datasets.Phishing()
>>> model_pipeline = compose.Pipeline(
...     ('Scaler', pipelinehelper.PipelineHelperTransformer([
...         ('StandardScaler', preprocessing.StandardScaler()),
...         ('MinMaxScaler', preprocessing.MinMaxScaler()),
...         ('MinAbsScaler', preprocessing.MaxAbsScaler()),
...     ])),
...     ('Classifier', pipelinehelper.PipelineHelperClassifier([
...         ('HT', tree.HoeffdingTreeClassifier()),
...         ('LR', linear_model.LogisticRegression()),
...         ('GNB', naive_bayes.GaussianNB()),
...         ('KNN', neighbors.KNNClassifier()),
...     ])))
>>> model = classification.EvolutionaryBaggingClassifier(
...     model=model_pipeline,
...     param_grid={
...         'Scaler': model_pipeline.steps['Scaler'].generate({}),
...         'Classifier': model_pipeline.steps['Classifier'].generate({
...             'HT__max_depth': [10, 30, 60, 10, 30, 60],
...             'HT__grace_period': [10, 100, 200, 10, 100, 200],
...             'HT__max_size': [5, 10],
...             'LR__l2': [.0,.01,.001],
...             'KNN__n_neighbors': [1, 5, 20],
...             'KNN__window_size': [100, 500, 1000],
...             'KNN__weighted': [True, False],
...             'KNN__p': [1, 2],
...         })
...     },
...     seed=42
... )
>>> metric = metrics.F1()
>>> for x, y in dataset:
...     y_pred = model.predict_one(x)  # make a prediction
...     metric = metric.update(y, y_pred)  # update the metric
...     model = model.learn_one(x,y)  # make the model learn

📚 Cite

@inproceedings{DBLP:conf/pakdd/KulbachMBHB22,
  author    = {Cedric Kulbach and
               Jacob Montiel and
               Maroua Bahri and
               Marco Heyden and
               Albert Bifet},
  editor    = {Jo{\~{a}}o Gama and
               Tianrui Li and
               Yang Yu and
               Enhong Chen and
               Yu Zheng and
               Fei Teng},
  title     = {Evolution-Based Online Automated Machine Learning},
  booktitle = {Advances in Knowledge Discovery and Data Mining - 26th Pacific-Asia
               Conference, {PAKDD} 2022, Chengdu, China, May 16-19, 2022, Proceedings,
               Part {I}},
  series    = {Lecture Notes in Computer Science},
  volume    = {13280},
  pages     = {472--484},
  publisher = {Springer},
  year      = {2022},
  url       = {https://doi.org/10.1007/978-3-031-05933-9\_37},
  doi       = {10.1007/978-3-031-05933-9\_37},
  timestamp = {Tue, 17 May 2022 15:53:17 +0200},
  biburl    = {https://dblp.org/rec/conf/pakdd/KulbachMBHB22.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

🏫 Affiliations

FZI Logo

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

EvOAutoML-0.0.14.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

EvOAutoML-0.0.14-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file EvOAutoML-0.0.14.tar.gz.

File metadata

  • Download URL: EvOAutoML-0.0.14.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for EvOAutoML-0.0.14.tar.gz
Algorithm Hash digest
SHA256 9819ab5f18cb734d6177ef272b3e4746cde2ec48bd4ee506736f02b1c191d958
MD5 f4292e91198bdfd769aed40b8c5b01da
BLAKE2b-256 86c0c34a3b58846a409cf5b155fd7339e6c87550060f6c2a6a78648f8c6318e1

See more details on using hashes here.

File details

Details for the file EvOAutoML-0.0.14-py3-none-any.whl.

File metadata

  • Download URL: EvOAutoML-0.0.14-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for EvOAutoML-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 bba1f2d0153a9429a5bb5138b9b5c43b11c14b11105e660c4e1c433e86ac0378
MD5 043711d519e759d254a6a2a603334557
BLAKE2b-256 177858445ef5bf64b0d2d2318e57687f212c8cc0cd8c92bc1c1bd23bd7fecf6f

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