Online Automated Machine Learning for river
Project description
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.
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
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
EvOAutoML-0.0.14.tar.gz
(14.3 kB
view details)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9819ab5f18cb734d6177ef272b3e4746cde2ec48bd4ee506736f02b1c191d958 |
|
MD5 | f4292e91198bdfd769aed40b8c5b01da |
|
BLAKE2b-256 | 86c0c34a3b58846a409cf5b155fd7339e6c87550060f6c2a6a78648f8c6318e1 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | bba1f2d0153a9429a5bb5138b9b5c43b11c14b11105e660c4e1c433e86ac0378 |
|
MD5 | 043711d519e759d254a6a2a603334557 |
|
BLAKE2b-256 | 177858445ef5bf64b0d2d2318e57687f212c8cc0cd8c92bc1c1bd23bd7fecf6f |