Skip to content

Revca-ANAI/ANAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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