栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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 版中实现。

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())

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987250.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号