Skip to main content

Ml learning tools for busniess data mining

Project description

BDMLtools-0.2.8

PyPI version License Build Status codecov PyPI release

BDMLtools是适用于常见商业数据分析数据挖掘场景下,中小数据量的二分类模型的机器学习建模工具包。 本模组将集成商业分析场景中二分类模型中常用的机器学习模型,并使之能够兼顾模型开发效率、报告制作与建模流程标准化。

  • 涵盖数据清洗、数据探索、特征工程、评分卡制作、模型评估、统计学逐步回归、机器学习模型及其参数优化等内容
  • 在准确性和运行效率的前提下集成了诸多流行的三方库,包括sklearn,xgboost,lightgbm,statsmodels等
  • 本模块的评分卡开发部分参考了谢士晨博士的R::scorecard(https://github.com/ShichenXie/scorecard)
    • 功能上几乎与其一致并增加了更多的拓展,例如单调最优分箱算法
    • 支持sklearn、statsmodel的logit回归模型的评分卡制作
    • 在分箱算法、报告制作、评分转换上的本模组运行效率更优
  • 部分功能都基于sklearn.base的TransformerMixin与BaseEstimator进行构建,可支持pipeline
  • 模块中对列的数据处理进行了并行优化
  • 工具包总体上还在早期开发中

功能介绍:

  • 数据清洗与数据预处理

    • BDMLtools.dtStandardization:数据规范化,解决实体重复,索引等问题
    • BDMLtools.dtypeAllocator:特征类型分配,将原始数据中的列类型转换为适合进行分析与建模的数据类型
    • BDMLtools.nanTransformer:缺失值处理,缺失值填补
    • BDMLtools.outliersTransformer:异常值处理
    • BDMLtools.prefitModel:预拟合数据,在不进行任何特征工程的前提下使用全量特征预拟合数据以预估模型表现
  • 特征工程/评分卡

    • BDMLtools.preSelector:特征预筛,按照缺失值、唯一值、方差、卡方值、f值、树模型、iv等进行特征预筛
    • BDMLtools.faSelector:变量聚类筛选器
    • BDMLtools.woeTransformer:WOE编码,对原始数据进行woe编码
    • BDMLtools.binSelector:分箱筛选器,提供等频、决策树、卡方、单调等分箱算法并依据分箱结果进行特征筛选
    • BDMLtools.binAdjuster:分箱调整器,支持单特征、组特征的交互式分箱及分箱调整
    • BDMLtools.stepLogit:统计逐步回归筛选器,提供基于aic/bic与statsmodel的logit-reg的逐步法进行筛选特征与模型构建
    • BDMLtools.cardScorer:制作评分卡
    • BDMLtools.LgbmSeqSelector:Lgbm逐步式特征选择筛选器
    • BDMLtools.LgbmShapRFECVSelector:Lgbm递归式特征消除筛选器
    • BDMLtools.LgbmPISelector:Lgbm组合重要性除筛选器
  • 报告

    • BDMLtools.EDAReport:数据质量报告
    • BDMLtools.varReportSinge:单特征分析报告
    • BDMLtools.varReport:特征分析报告
    • BDMLtools.varGroupsReport:分群特征分析报告
  • 机器学习-分类算法

    • BDMLtools.gridTuner:网格优化与随机优化的xgb、lgbm、catboost
    • BDMLtools.BayesianCVTuner:贝叶斯优化的xgb、lgbm、catboost
    • BDMLtools.hgridTuner:scucessive halving优化的xgb、lgbm、catboost
  • 机器学习-异常发现算法

    • 待补充
  • 模型评估

    • BDMLtools.perfEval:二分类排序模型评估,包含绘制图ks、roc、gini、gain、lorenz、f1、pr、density的功能
    • BDMLtools.perfEval2:二分类决策模型评估,包含绘制混淆矩阵与计算相应指标的功能

安装:

  • github
pip install git+git://github.com/zk403/mlearn.git
  • pypi
pip install BDMLtools

卸载:

pip uninstall BDMLtools

示例:

见example

更新

v0.2.8
1.stepLogit中加入向前逐步法、向后逐步法
2.修改了stepLogit的部分入参名与含义
3.修复了stepLogit在变量过少情况下无法进行逐步法的bug
4.修复了prefitModel中部分列全部缺失后可能产生的bug
5.修复了perfEval中加入样本权重后产生的索引报错的bug
6.补充了部分文档与单元测试脚本
7.更新example

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

BDMLtools-0.2.8.tar.gz (96.0 kB view details)

Uploaded Source

File details

Details for the file BDMLtools-0.2.8.tar.gz.

File metadata

  • Download URL: BDMLtools-0.2.8.tar.gz
  • Upload date:
  • Size: 96.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for BDMLtools-0.2.8.tar.gz
Algorithm Hash digest
SHA256 3fde9dfa2a3cceed160e92b16f75a795e55df0c553f7eb7c488a150e84695dec
MD5 dc1c55916ab10948b0673cb0e7f69965
BLAKE2b-256 71bdc893f3e1d09c1e619f9f9a6ec527768ab0974b1d1ab3be5a1d077834e962

See more details on using hashes here.

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