Skip to main content

d4rk-lucif3r 的自动化机器学习

项目描述

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

d4rk-lucif3r 的半自动化机器学习库 LuciferML

下载 下载 阅读文档

关于

LuciferML 是一个半自动机器学习 Python 库,可处理表格数据。它旨在在进行数据分析时节省时间。它将帮助您从数据预处理到数据预测。

LuciferML 将帮助您

  1. 预处理数据:
    • 编码
    • 分裂
    • 缩放
    • 降维
    • 重采样
  2. 通过超参数调整尝试许多不同的机器学习模型,

安装

pip install lucifer-ml

可用的预处理技术

  1. 偏度校正

    将 Pandas 数据框作为输入。转换数据集中的每一列,除了作为可选参数给出的列。返回转换后的数据。

    例子:

    1. 所有列:

       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. 除了列/列:

       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'])
      

    更多关于预处理在这里

可用的建模技术

  1. 分类

    可用的分类模型

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

    例子:

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

    更多关于分类

  2. 回归

    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'
    

    例子:

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

    更多关于回归这里

超参数调优

LuciferML 由Optuna提供支持,用于超参数调优。只需在回归器或分类器中添加“tune = True”,它将开始使用 Optuna 调整模型。

持久性

LuciferML 的模型可以保存为 pickle 文件。它将模型和缩放器都保存到 pickle 文件中。

- Saving

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

也可以通过指定模型和缩放器的路径来加载新的 LuciferML 对象

- Loading

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

这些适用于分类和回归。

例子

请在此处参考更多示例


待办事项

项目详情


发布历史 发布通知| RSS订阅