All Projects → societe-generale → aikit

societe-generale / aikit

Licence: BSD-2-Clause license
Automated machine learning package

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to aikit

featuretoolsOnSpark
A simplified version of featuretools for Spark
Stars: ✭ 24 (+0%)
Mutual labels:  automl
maggy
Distribution transparent Machine Learning experiments on Apache Spark
Stars: ✭ 83 (+245.83%)
Mutual labels:  automl
human-in-the-loop-machine-learning-tool-tornado
Tornado is a human-in-the-loop machine learning framework that helps you exploit your unlabelled data to train models through a simple and easy to use web interface.
Stars: ✭ 37 (+54.17%)
Mutual labels:  automl
benderopt
Black-box optimization library
Stars: ✭ 84 (+250%)
Mutual labels:  automl
tsfuse
Python package for automatically constructing features from multiple time series
Stars: ✭ 33 (+37.5%)
Mutual labels:  automl
clara-train-examples
Example notebooks demonstrating how to use Clara Train to build Medical Imaging Deep Learning models
Stars: ✭ 80 (+233.33%)
Mutual labels:  automl
HyperKeras
An AutoDL tool for Neural Architecture Search and Hyperparameter Optimization on Tensorflow and Keras
Stars: ✭ 29 (+20.83%)
Mutual labels:  automl
EasyRec
A framework for large scale recommendation algorithms.
Stars: ✭ 599 (+2395.83%)
Mutual labels:  automl
Awesome-Tensorflow2
基于Tensorflow2开发的优秀扩展包及项目
Stars: ✭ 45 (+87.5%)
Mutual labels:  automl
Deep-learning-And-Paper
【仅作为交流学习使用】机器智能--相关书目及经典论文包括AutoML、情感分类、语音识别、声纹识别、语音合成实验代码等
Stars: ✭ 62 (+158.33%)
Mutual labels:  automl
AutoPrognosis
Codebase for "AutoPrognosis: Automated Clinical Prognostic Modeling via Bayesian Optimization", ICML 2018.
Stars: ✭ 47 (+95.83%)
Mutual labels:  automl
Neural-Architecture-Search
This repo is about NAS
Stars: ✭ 26 (+8.33%)
Mutual labels:  automl
BossNAS
(ICCV 2021) BossNAS: Exploring Hybrid CNN-transformers with Block-wisely Self-supervised Neural Architecture Search
Stars: ✭ 125 (+420.83%)
Mutual labels:  automl
simon-frontend
💹 SIMON is powerful, flexible, open-source and easy to use machine learning knowledge discovery platform 💻
Stars: ✭ 114 (+375%)
Mutual labels:  automl
OptGBM
Optuna + LightGBM = OptGBM
Stars: ✭ 27 (+12.5%)
Mutual labels:  automl
EvolutionaryForest
An open source python library for automated feature engineering based on Genetic Programming
Stars: ✭ 56 (+133.33%)
Mutual labels:  automl
pymfe
Python Meta-Feature Extractor package.
Stars: ✭ 89 (+270.83%)
Mutual labels:  automl
ultraopt
Distributed Asynchronous Hyperparameter Optimization better than HyperOpt. 比HyperOpt更强的分布式异步超参优化库。
Stars: ✭ 93 (+287.5%)
Mutual labels:  automl
autogbt-alt
An experimental Python package that reimplements AutoGBT using LightGBM and Optuna.
Stars: ✭ 76 (+216.67%)
Mutual labels:  automl
deep autoviml
Build tensorflow keras model pipelines in a single line of code. Now with mlflow tracking. Created by Ram Seshadri. Collaborators welcome. Permission granted upon request.
Stars: ✭ 98 (+308.33%)
Mutual labels:  automl

Build Status Python 3.6 PyPI version Documentation Status Binder

aikit

Automatic Tool Kit for Machine Learning and Datascience.

The objective is to provide tools to ease the repetitive part of the DataScientist job and so that he/she can focus on modelization. This package is still in alpha and more features will be added. Its mains features are:

  • improved and new "scikit-learn like" transformers ;
  • GraphPipeline : an extension of sklearn Pipeline that handles more generic chains of tranformations ;
  • an AutoML to automatically search throught several transformers and models.

Full documentation is available here: https://aikit.readthedocs.io/en/latest/

You can run examples here, thanks to Binder.

GraphPipeline

The GraphPipeline object is an extension of sklearn.pipeline.Pipeline but the transformers/models can be chained with any directed graph.

The objects takes as input two arguments:

  • models: dictionary of models (each key is the name of a given node, and each corresponding value is the transformer corresponding to that node)
  • edges: list of tuples that links the nodes to each other

Example:

gpipeline = GraphPipeline(
    models = {
        "vect": CountVectorizerWrapper(analyzer="char",
                                       ngram_range=(1, 4),
                                       columns_to_use=["text1", "text2"]),
        "cat": NumericalEncoder(columns_to_use=["cat1", "cat2"]),
        "rf": RandomForestClassifier(n_estimators=100)
    },
    edges = [("vect", "rf"), ("cat", "rf")]
)

Alt text

AutoML

Aikit contains an AutoML part which will test several models and transformers for a given dataset.

For example, you can create the following python script run_automl_titanic.py:

from aikit.datasets import load_dataset, DatasetEnum
from aikit.ml_machine import MlMachineLauncher

def loader():
    dfX, y, *_ = load_dataset(DatasetEnum.titanic)
    return dfX, y

def set_configs(launcher):
    """ modify that function to change launcher configuration """
    launcher.job_config.score_base_line = 0.75
    launcher.job_config.allow_approx_cv = True
    return launcher

if __name__ == "__main__":
    launcher = MlMachineLauncher(base_folder = "~/automl/titanic",
                                 name = "titanic",
                                 loader = loader,
                                 set_configs = set_configs)
    launcher.execute_processed_command_argument()

And then run the command:

python run_automl_titanic.py run -n 4

To run the automl using 4 workers, the results will be stored in the specified folder You can aggregate those result using:

python run_automl_titanic.py result
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].