Skip to main content

https://github.com/d4rk-lucif3r/LuciferML/blob/master/assets/img/LUCIFER-ML.gif

LuciferML a Semi-Automated Machine Learning Library by d4rk-lucif3r

Downloads Downloads ReadTheDocs

About

The LuciferML is a Semi-Automated Machine Learning Python Library that works with tabular data. It is designed to save time while doing data analysis. It will help you right from data preprocessing to Data Prediction.

The LuciferML will help you with

  1. Preprocessing Data:
    • Encoding
    • Splitting
    • Scaling
    • Dimensionality Reduction
    • Resampling
  2. Trying many different machine learning models with hyperparameter tuning,

Installation

pip install lucifer-ml

Available Preprocessing Techniques

  1. Skewness Correction

    Takes Pandas Dataframe as input. Transforms each column in dataset except the columns given as an optional parameter. Returns Transformed Data.

    Example:

    1. All Columns:

       from luciferml.preprocessing import Preprocess as prep
       import pandas as pd
       dataset = pd.read_csv('/examples/Social_Network_Ads.csv')
       dataset = prep.skewcorrect(dataset)
      
    2. Except column/columns:

       from luciferml.preprocessing import Preprocess as prep
       import pandas as pd
       dataset = pd.read_csv('/examples/Social_Network_Ads.csv')
       dataset = prep.skewcorrect(dataset,except_columns=['Purchased'])
      

    More about Preprocessing here

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 Neighbours',
     - 'dt'  : 'Decision Trees',
     - 'nb'  : 'Naive Bayes',
     - 'rfc' : 'Random Forest Classifier',
     - 'gbc' : 'Gradient Boosting Classifier',
     - 'ada' : 'AdaBoost Classifier',
     - 'bag' : 'Bagging Classifier',
     - 'extc': 'Extra Trees Classifier',
     - 'lgbm': 'LightGBM Classifier',
     - 'cat' : 'CatBoost Classifier',
     - 'xgb' : 'XGBoost Classifier',
     - 'ann' : 'Multilayer Perceptron Classifier',
     - 'all' : 'Applies all above classifiers'
    

    Example:

     from luciferml.supervised.classification import Classification
     dataset = pd.read_csv('Social_Network_Ads.csv')
     X = dataset.iloc[:, :-1]
     y = dataset.iloc[:, -1]
     classifier = Classification(predictor = ['lr'])
     classifier.fit(X, y)
     result = classifier.result()
    

    More About Classification

  2. Regression

    Available Models for Regression
    
     - 'lin' : 'Linear Regression',
     - 'sgd' : 'Stochastic Gradient Descent Regressor',
     - 'elas': 'Elastic Net Regressot',
     - 'krr' : 'Kernel Ridge Regressor',
     - 'br'  : 'Bayesian Ridge Regressor',
     - 'svr' : 'Support Vector Regressor',
     - 'knr' : 'K-Nearest Regressor',
     - 'dt'  : 'Decision Trees',
     - 'rfr' : 'Random Forest Regressor',
     - 'gbr' : 'Gradient Boost Regressor',
     - 'ada' : 'AdaBoost Regressor',
     - 'bag' : 'Bagging Regressor',
     - 'extr': 'Extra Trees Regressor',
     - 'lgbm': 'LightGBM Regressor',
     - 'xgb' : 'XGBoost Regressor',
     - 'cat' : 'Catboost Regressor',
     - 'ann' : 'Multilayer Perceptron Regressor',
     - 'all' : 'Applies all above regressors'
    

    Example:

     from luciferml.supervised.regression import Regression
     dataset = pd.read_excel('examples\Folds5x2_pp.xlsx')
     X = dataset.iloc[:, :-1]
     y = dataset.iloc[:, -1]
     regressor = Regression(predictor = ['lin'])
     regressor.fit(X, y)
     result = regressor.result()
    

    More about Regression here

Hyperparameter Tuning

LuciferML is powered by Optuna for Hyperparam tuning. Just add "tune = True" in either Regressor or Classifier it will start tuning the model/s with Optuna.

Persistence

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

- Saving

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

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

- Loading

    Ex: 
        regressor = Regression(path = [<path-to-model.pkl>, <path-to-scaler.pkl>])

These are applicable for both Classification and Regression.

Examples

Please refer to more examples here


To-Do's

Metadata

Release files for lucifer-ml 0.0.79

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lucifer-ml 0.0.79
File Size Uploaded
lucifer-ml-0.0.79.tar.gz 34.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lucifer-ml 0.0.79
File Interpreter ABI Platform
lucifer_ml-0.0.79-py3-none-any.whl Python 3 none any Details

Total release size: 77.6 kB

Release files / lucifer-ml-0.0.79.tar.gz

Download URL lucifer-ml-0.0.79.tar.gz
Size 34.1 kB
Tags Source
SHA-256 checksum
How to use checksums
23a95396938b442c6cf399582b15cfdbf3caf33b8a0fa395441e69040bc819bf
BLAKE2b-256 checksum
How to use checksums
22017b5203793d9cc5e1c962ab0a8fcab0394ca35e59d7558cd97f35815952cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

Release files / lucifer_ml-0.0.79-py3-none-any.whl

Download URL lucifer_ml-0.0.79-py3-none-any.whl
Size 43.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5ea9b22d34c8f373df47c9fcd0e0121318d434d98ade48f7b9d954332d63d127
BLAKE2b-256 checksum
How to use checksums
4a128b6d9dffc67877e031c6df8d6f8d3c5e52a40457d4301800c151a98d83b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

Release history Release notifications | RSS feed

0.0.80

2 release files

This release

0.0.79 This release

2 release files

0.0.72

2 release files

0.0.71

2 release files

0.0.70

2 release files

0.0.60

2 release files

0.0.59

2 release files

0.0.55

2 release files

0.0.54

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.50

2 release files

0.0.49

2 release files

0.0.48

2 release files

0.0.47

2 release files

0.0.46

2 release files

0.0.45

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.34

2 release files

0.0.33

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.30

2 release files

0.0.29

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page