目录
Optbinning的简介
Optbinning,OptBinning 是一个用 Python 编写的库,实现了一个严格而灵活的数学编程公式,以解决二进制、连续和多类目标类型的最佳分箱问题,并结合了以前未解决的约束。
它是由西班牙Universitat Polit`ecnica de Catalunya, Barcelona 大学的guillermo navas palencia博士做的包。最佳分箱是将数值特征约束离散化到给定二进制目标的箱中,从而最大化诸如 Jeffrey 散度或 Gini 之类的统计数据。 分箱是二进制分类中常用的一种数据预处理技术,但当前支持约束的现有分箱算法列表缺乏处理流数据的方法。 在这Optbinning文章中,提出了一种新的可扩展、内存高效且强大的算法,用于在流设置中执行最佳分箱。 所描述的算法将在开源 python 库 OptBinning 0.7.0 版中实现。
Github:https://github.com/guillermo-navas-palencia/optbinning/
文档:http://gnpalencia.org/optbinning/
论文:
Optimal counterfactual explanations for scorecard modelling. https://arxiv.org/abs/2104.08619
Optimal binning: mathematical programming formulation. http://arxiv.org/abs/2001.08025
博客: Optimal binning for streaming data. Optimal binning for streaming data
案例:Tutorials — optbinning 0.14.0 documentation
Optbinning的安装
1. pip install optbinning 2. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple optbinning
Optbinning的使用方法
1、一键算IV
IV
2、根据特定条件的初步变量筛选
1. selected_data = toad.selection.select(data,target = 'target', empty = 0.5, iv = 0.02, corr = 0.7, return_drop=True, exclude=['ID','month']) 2. final_data = toad.selection.stepwise(data_woe,target = 'target', estimator='ols', direction = 'both', criterion = 'aic', exclude = to_drop)
3、分箱及可视化
1. # Chi-squared fine binning 2. c = toad.transform.Combiner() 3. c.fit(data_selected.drop(to_drop, axis=1), y = 'target', method = 'chi', min_samples = 0.05) 4. print(c.export()) 5. 6. 7. # Visualisation to check binning results 8. col = 'feature_name' 9. bin_plot(c.transform(data_selected[[col,'target']], labels=True), x=col, target='target')
4、模型结果展示:
toad.metrics.KS_bucket(pred_proba, final_data['target'], bucket=10, method = 'quantile')
5、评分卡转化:
1. card = toad.ScoreCard( 2. combiner = c, 3. transer = transer, 4. class_weight = 'balanced', 5. C=0.1, 6. base_score = 600, 7. base_odds = 35 , 8. pdo = 60, 9. rate = 2 10. ) 11. card.fit(final_data[col], final_data['target']) 12. print(card.export())
文章知识点与官方知识档案匹配,可进一步学习相关知识