Py之Optbinning:Optbinning的简介、安装、使用方法之详细攻略

Optbinning是一个Python库,专注于数值特征的最佳分箱,以优化二进制、连续和多类目标的离散化过程。该库提供了严格的数学编程公式,适用于流数据处理。本文介绍了Optbinning的安装、一键计算IV值、变量筛选、分箱可视化、模型评估和评分卡转化等核心功能,展示了其在数据预处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Py之Optbinning:Optbinning的简介、安装、使用方法之详细攻略

目录

Optbinning的简介

Optbinning的安装

Optbinning的使用方法

1、一键算IV

 2、根据特定条件的初步变量筛选

3、分箱及可视化

4、模型结果展示:

5、评分卡转化:


Optbinning的简介

        Optbinning,OptBinning 是一个用 Python 编写的库,实现了一个严格而灵活的数学编程公式,以解决二进制、连续和多类目标类型的最佳分箱问题,并结合了以前未解决的约束。
        它是由西班牙Universitat Polit`ecnica de Catalunya, Barcelona 大学的guillermo navas palencia博士做的包。最佳分箱是将数值特征约束离散化到给定二进制目标的箱中,从而最大化诸如 Jeffrey 散度或 Gini 之类的统计数据。 分箱是二进制分类中常用的一种数据预处理技术,但当前支持约束的现有分箱算法列表缺乏处理流数据的方法。 在这Optbinning文章中,提出了一种新的可扩展、内存高效且强大的算法,用于在流设置中执行最佳分箱。 所描述的算法将在开源 python 库 OptBinning 0.7.0 版中实现。

Githubhttps://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())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值