Skip to main content

Ml learning tools for busniess data mining

Project description

BDMLtools-0.2.6

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.6
1.更新单元测试脚本
2.现在preSelector中若存在任何步骤筛选掉所有特征,将停止下一步筛选并输出结果
3.移除preSelector中特征筛选方法Permutation Importance和Leave One Feature Out Importance
4.修复EDAReport的bug,删除了参数category_col与numeric_col参数,加入参数missing_values
4.修复了nanTransformer中indicator为True时产生的缺失值指代列列名重复的bug
5.修复了preSelector,dtypeAllocator中object类型问题,生成方式由astype('object')变为astype('str')
6.修复了LgbmPISelector中选择贝叶斯优化且样本权重为None时会报错的bug
7.在varGroupsReport中加入因rowlimit设定过高而导致无法产生报告的错误提示

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.6.tar.gz (2.1 MB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: BDMLtools-0.2.6.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • 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.6.tar.gz
Algorithm Hash digest
SHA256 708d0f96d77f318fd41fab82fbc0cbf85dd3e97a9824e293dbe796a417e6b2ad
MD5 735163a5416211fadd57391b41ac5c59
BLAKE2b-256 153b64b8c106e63536fd6c23f6e60f752ac284f4b40a721598fbdeda00371fec

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