Py之Optbinning:Optbinning的简介、安装、使用方法之详细攻略
目录
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的安装
pip install optbinning
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple optbinning
Optbinning的使用方法
1、一键算IV
IV
2、根据特定条件的初步变量筛选
selected_data = toad.selection.select(data,target = 'target', empty = 0.5, iv = 0.02, corr = 0.7, return_drop=True, exclude=['ID','month'])
final_data = toad.selection.stepwise(data_woe,target = 'target', estimator='ols', direction = 'both', criterion = 'aic', exclude = to_drop)
3、分箱及可视化
# Chi-squared fine binning
c = toad.transform.Combiner()
c.fit(data_selected.drop(to_drop, axis=1), y = 'target', method = 'chi', min_samples = 0.05)
print(c.export())
# Visualisation to check binning results
col = 'feature_name'
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、评分卡转化:
card = toad.ScoreCard(
combiner = c,
transer = transer,
class_weight = 'balanced',
C=0.1,
base_score = 600,
base_odds = 35 ,
pdo = 60,
rate = 2
)
card.fit(final_data[col], final_data['target'])
print(card.export())