Skip to main content

Automated ML

Project description

ANAI an Automated Machine Learning Library by Revca

ANAI LOGO

License Downloads Downloads Documentation Status

About

ANAI is an Automated Machine Learning Python Library that works with tabular data. It is intended to save time when performing data analysis. It will assist you with everything right from the beginning i.e Ingesting data using the inbuilt connectors, preprocessing, feature engineering, model building, model evaluation, model tuning and much more.

Our Goal

Our Goal is to democratize Machine Learning and make it accessible to everyone.

Let's get started

Installation

1) Python venv:
    pip install anai-opensource

Available Modelling Techniques

  1. Classification

    Available Models for Classification
    
     - "lr": "Logistic Regression"
     - "sgd": "Stochastic Gradient Descent"
     - "perc": "Perceptron"
     - "pass": "Passive Aggressive Classifier"
     - "ridg": "Ridge Classifier"
     - "svm": "Support Vector Machine"
     - "knn": "K-Nearest Neighbors"
     - "dt": "Decision Trees"
     - "nb": "Naive Bayes"
     - "rfc": "Random Forest Classifier"
     - "gbc": "Gradient Boosting Classifier"
     - "ada": "AdaBoost Classifier"
     - "bag": "Bagging Classifier"
     - "ext": "Extra Trees Classifier"
     - "lgbm": "LightGBM Classifier"
     - "cat": "CatBoost Classifier"
     - "xgb": "XGBoost Classifier"
     - "ann": "Multi Layer Perceptron Classifier"
     - "poisson": "Poisson Classifier"
     - "huber": "Huber Classifiers"
     - "ridge_cv": "RidgeCV Classifier"
     - "encv": "ElasticNet CV Classifier"
     - "lcv": "LassoCV Classifier"
     - "llic": "LassoLarsIC Classifier"
     - "llcv": "LassoLarsCV Classifier"
     - "ransac": "RANSACClassifiers",
     - "ompcv": "OrthogonalMatchingPursuitCV Classifier",
     - "omp": "OrthogonalMatchingPursuit Classifier",
     - "iso": "IsotonicRegression Classifier",
     - "rad": "RadiusNeighbors Classifier",
     - "quantile": "QuantileRegression Classifier",
     - "theil": "TheilSenRegressor Classifier",
     - "lars": "Lars Classifeir",
     - "lcv": "LarsCV Classifier",
     - "tweedie": "TweedieClassifiers",
     - "all": "All Classifiers"
    
  2. Regression

    Available Models for Regression
    
     - "lin": "Linear Regression"
     - "sgd": "Stochastic Gradient Descent Regressor"
     - "krr": "Kernel Ridge Regression"
     - "elas": "Elastic Net Regression"
     - "br": "Bayesian Ridge Regression"
     - "svr": "Support Vector Regressor"
     - "knn": "K-Nearest Neighbors"
     - "dt": "Decision Trees Regressor"
     - "rfr": "Random Forest Regressor"
     - "gbr": "Gradient Boosted Regressor"
     - "ada": "AdaBoostRegressor"
     - "bag": "Bagging Regressor"
     - "ext": "Extra Trees Regressor"
     - "lgbm": "LightGBM Regressor"
     - "xgb": "XGBoost Regressor"
     - "cat": "Catboost Regressor"
     - "ann": "Multi-Layer Perceptron Regressor"
     - "poisson": "Poisson Regressor"
     - "huber": "Huber Regressor"
     - "gamma": "Gamma Regressor"
     - "ridge": "Ridge CV Regressor"
     - "encv": "ElasticNetCV Regressor"
     - "lcv": "LassoCV Regressor"
     - "llic": "LassoLarsIC Regressor"
     - "llcv": "LassoLarsCV Regressor"
     - "ransac": "RANSACRegressor",
     - "ompcv": "OrthogonalMatchingPursuitCV",
     - "gpr": "GaussianProcessRegressor",
     - "omp": "OrthogonalMatchingPursuit",
     - "llars": "LassoLars",
     - "iso": "IsotonicRegression",
     - "rnr": "Radius Neighbors Regressor Regressors",
     - "qr": "Quantile Regression Regressors",
     - "theil": "TheilSenRegressor Regressors",
     - "all": "All Regressors"
    

Usage Example

import anai
ai = anai.run(
            filepath='examples/Folds5x2_pp.xlsx', 
            target='PE',
            predictor=['lin'],
)

ANAI Run

Hyperparameter Tuning

ANAI is powered by Optuna for Hyperparam tuning. Just pass "tune = True" in run arguments and it will start tuning the model/s with Optuna.

Persistence

ANAI's model can be saved as a pickle file. It will save both the model and the scaler to the pickle file.

- Saving

    Ex: 
        ai.save([<path-to-model.pkl>, <path-to-scaler.pkl>])

A new ANAI Object can be loaded as well by specifying path of model and scaler

- Loading

    Ex: 
        ai = anai.run(path = [<path-to-model.pkl>, <path-to-scaler.pkl>])

More Examples

You can find more examples/tutorials here

Documentation

More information about ANAI can be found here

Contributing

  • If you have any suggestions or bug reports, please open an issue here
  • If you want to join the ANAI Team send us your resume here

License

  • APACHE 2.0 License

Contact

Roadmap

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

anai-opensource-0.1.7.2.tar.gz (49.5 kB view hashes)

Uploaded Source

Built Distribution

anai_opensource-0.1.7.2-py3-none-any.whl (56.4 kB view hashes)

Uploaded Python 3

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