EvOAutoML


NameEvOAutoML JSON
Version 0.0.14 PyPI version JSON
download
home_pagehttps://github.com/kulbachcedric/EvoAutoML
SummaryOnline Automated Machine Learning for river
upload_time2022-12-11 14:25:03
maintainer
docs_urlNone
authorCedric Kulbach
requires_python>=3.6.0
licenseBSD-3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
<p align="center">
  <img height="150px" src="docs/img/logo.png" alt="incremental dl logo">
</p>

<p align="center">
    EvO AutoML is a Python library for Evolution based Online AutoML.
    EvO AutoML ambition is to enable hyperparameter optimization for <a href="https://www.wikiwand.com/en/Online_machine_learning">online machine learning</a> pipelines build on <a href="https://riverml.xyz/latest/">river</a>.
</p>
<p align="center">
    <img alt="PyPI" src="https://img.shields.io/pypi/v/EvoAutoML">
    <a href="https://codecov.io/gh/kulbachcedric/EvOAutoML" >
        <img src="https://codecov.io/gh/kulbachcedric/EvOAutoML/branch/master/graph/badge.svg?token=7RIEXKNR6K"/>
    </a>
    <img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dw/EvOAutoML">
    <img alt="GitHub" src="https://img.shields.io/github/license/kulbachcedric/EvoAutoML"> 

</p>

# EvO AutoML

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

## 💈 Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install EvoAutoML.

```bash
pip install evoautoml
```

You can install the latest development version from GitHub as so:
```shell
pip install https://github.com/kulbachcedric/EvOAutoML//archive/refs/heads/master.zip
```
## 🍫 Quickstart
### Classification

```python

>>> 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

<p align="center">
    <img src="https://upload.wikimedia.org/wikipedia/de/thumb/4/44/Fzi_logo.svg/1200px-Fzi_logo.svg.png?raw=true" alt="FZI Logo" height="200"/>
</p>


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kulbachcedric/EvoAutoML",
    "name": "EvOAutoML",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Cedric Kulbach",
    "author_email": "cedric.kulbach@googlemail.com",
    "download_url": "https://files.pythonhosted.org/packages/86/c0/c34a3b58846a409cf5b155fd7339e6c87550060f6c2a6a78648f8c6318e1/EvOAutoML-0.0.14.tar.gz",
    "platform": null,
    "description": "\n<p align=\"center\">\n  <img height=\"150px\" src=\"docs/img/logo.png\" alt=\"incremental dl logo\">\n</p>\n\n<p align=\"center\">\n    EvO AutoML is a Python library for Evolution based Online AutoML.\n    EvO AutoML ambition is to enable hyperparameter optimization for <a href=\"https://www.wikiwand.com/en/Online_machine_learning\">online machine learning</a> pipelines build on <a href=\"https://riverml.xyz/latest/\">river</a>.\n</p>\n<p align=\"center\">\n    <img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/EvoAutoML\">\n    <a href=\"https://codecov.io/gh/kulbachcedric/EvOAutoML\" >\n        <img src=\"https://codecov.io/gh/kulbachcedric/EvOAutoML/branch/master/graph/badge.svg?token=7RIEXKNR6K\"/>\n    </a>\n    <img alt=\"PyPI - Downloads\" src=\"https://img.shields.io/pypi/dw/EvOAutoML\">\n    <img alt=\"GitHub\" src=\"https://img.shields.io/github/license/kulbachcedric/EvoAutoML\"> \n\n</p>\n\n# EvO AutoML\n\nEvO AutoML is a Python library for Evolution based Online AutoML.\n\n## \ud83d\udc88 Installation\n\nUse the package manager [pip](https://pip.pypa.io/en/stable/) to install EvoAutoML.\n\n```bash\npip install evoautoml\n```\n\nYou can install the latest development version from GitHub as so:\n```shell\npip install https://github.com/kulbachcedric/EvOAutoML//archive/refs/heads/master.zip\n```\n## \ud83c\udf6b Quickstart\n### Classification\n\n```python\n\n>>> from river import datasets, ensemble, evaluate, metrics, compose, optim\n>>> from river import preprocessing, neighbors, naive_bayes, tree, linear_model\n>>> from EvOAutoML import classification, pipelinehelper\n>>> dataset = datasets.Phishing()\n>>> model_pipeline = compose.Pipeline(\n...     ('Scaler', pipelinehelper.PipelineHelperTransformer([\n...         ('StandardScaler', preprocessing.StandardScaler()),\n...         ('MinMaxScaler', preprocessing.MinMaxScaler()),\n...         ('MinAbsScaler', preprocessing.MaxAbsScaler()),\n...     ])),\n...     ('Classifier', pipelinehelper.PipelineHelperClassifier([\n...         ('HT', tree.HoeffdingTreeClassifier()),\n...         ('LR', linear_model.LogisticRegression()),\n...         ('GNB', naive_bayes.GaussianNB()),\n...         ('KNN', neighbors.KNNClassifier()),\n...     ])))\n>>> model = classification.EvolutionaryBaggingClassifier(\n...     model=model_pipeline,\n...     param_grid={\n...         'Scaler': model_pipeline.steps['Scaler'].generate({}),\n...         'Classifier': model_pipeline.steps['Classifier'].generate({\n...             'HT__max_depth': [10, 30, 60, 10, 30, 60],\n...             'HT__grace_period': [10, 100, 200, 10, 100, 200],\n...             'HT__max_size': [5, 10],\n...             'LR__l2': [.0,.01,.001],\n...             'KNN__n_neighbors': [1, 5, 20],\n...             'KNN__window_size': [100, 500, 1000],\n...             'KNN__weighted': [True, False],\n...             'KNN__p': [1, 2],\n...         })\n...     },\n...     seed=42\n... )\n>>> metric = metrics.F1()\n>>> for x, y in dataset:\n...     y_pred = model.predict_one(x)  # make a prediction\n...     metric = metric.update(y, y_pred)  # update the metric\n...     model = model.learn_one(x,y)  # make the model learn\n\n```\n\n## \ud83d\udcda Cite\n```\n@inproceedings{DBLP:conf/pakdd/KulbachMBHB22,\n  author    = {Cedric Kulbach and\n               Jacob Montiel and\n               Maroua Bahri and\n               Marco Heyden and\n               Albert Bifet},\n  editor    = {Jo{\\~{a}}o Gama and\n               Tianrui Li and\n               Yang Yu and\n               Enhong Chen and\n               Yu Zheng and\n               Fei Teng},\n  title     = {Evolution-Based Online Automated Machine Learning},\n  booktitle = {Advances in Knowledge Discovery and Data Mining - 26th Pacific-Asia\n               Conference, {PAKDD} 2022, Chengdu, China, May 16-19, 2022, Proceedings,\n               Part {I}},\n  series    = {Lecture Notes in Computer Science},\n  volume    = {13280},\n  pages     = {472--484},\n  publisher = {Springer},\n  year      = {2022},\n  url       = {https://doi.org/10.1007/978-3-031-05933-9\\_37},\n  doi       = {10.1007/978-3-031-05933-9\\_37},\n  timestamp = {Tue, 17 May 2022 15:53:17 +0200},\n  biburl    = {https://dblp.org/rec/conf/pakdd/KulbachMBHB22.bib},\n  bibsource = {dblp computer science bibliography, https://dblp.org}\n}\n```\n## \ud83c\udfeb Affiliations\n\n<p align=\"center\">\n    <img src=\"https://upload.wikimedia.org/wikipedia/de/thumb/4/44/Fzi_logo.svg/1200px-Fzi_logo.svg.png?raw=true\" alt=\"FZI Logo\" height=\"200\"/>\n</p>\n\n",
    "bugtrack_url": null,
    "license": "BSD-3",
    "summary": "Online Automated Machine Learning for river",
    "version": "0.0.14",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "043711d519e759d254a6a2a603334557",
                "sha256": "bba1f2d0153a9429a5bb5138b9b5c43b11c14b11105e660c4e1c433e86ac0378"
            },
            "downloads": -1,
            "filename": "EvOAutoML-0.0.14-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "043711d519e759d254a6a2a603334557",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6.0",
            "size": 18014,
            "upload_time": "2022-12-11T14:25:02",
            "upload_time_iso_8601": "2022-12-11T14:25:02.171502Z",
            "url": "https://files.pythonhosted.org/packages/17/78/58445ef5bf64b0d2d2318e57687f212c8cc0cd8c92bc1c1bd23bd7fecf6f/EvOAutoML-0.0.14-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "f4292e91198bdfd769aed40b8c5b01da",
                "sha256": "9819ab5f18cb734d6177ef272b3e4746cde2ec48bd4ee506736f02b1c191d958"
            },
            "downloads": -1,
            "filename": "EvOAutoML-0.0.14.tar.gz",
            "has_sig": false,
            "md5_digest": "f4292e91198bdfd769aed40b8c5b01da",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6.0",
            "size": 14283,
            "upload_time": "2022-12-11T14:25:03",
            "upload_time_iso_8601": "2022-12-11T14:25:03.846256Z",
            "url": "https://files.pythonhosted.org/packages/86/c0/c34a3b58846a409cf5b155fd7339e6c87550060f6c2a6a78648f8c6318e1/EvOAutoML-0.0.14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-11 14:25:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "kulbachcedric",
    "github_project": "EvoAutoML",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "evoautoml"
}
        
Elapsed time: 0.03849s