WOE

WOE Transformation常用于信用风险评分卡(Credit Risk Scorecard)模型中,采用分箱的方式对原始特征进行非线性映射。常见的分箱方法有等宽分箱、等频分箱、最优分箱等,这里设计了一种基于决策树的分箱算法,其核心是基于iv值最大求最优分箱,可同时处理连续型变量和离散型变量。

1、连续型变量:针对一对feature-label构造决策树,选择最优分裂点时需保证左树iv+右树iv之和最大,如果二者之和大于不分裂时的iv则分裂,否则不分裂;同时需要保证每个叶子节点样本数量大于给定的最小样本数量。最终,每个父节点存储了用于分箱的分裂点信息,叶子节点存储了该分箱内的woe、iv、正负样本数量等信息;

2、离散型变量:对特征的每个离散值求woe值,用经woe值替换后的样本构造决策树,方法与处理连续型变量一致。需要注意的是在树的每一次分裂过程中,都要记录下分裂所涉及到的原始特征值。最终,每个叶子节点存储了该分箱内的原始特征值、woe、iv、正负样本数量等信息;

3、提取树结构中存储的的分裂点信息、分箱内的原始特征值、woe、iv、正负样本数量信息构成分箱规则。最终生成的分箱规则中,bin_value_list表示离散特征每个分箱对应的原始特征值;split_left表示连续特征分箱左界(>),split_right表示连续特征分箱右界(<=);iv_sum表示该特征所有分箱iv之和。

针对UCI信用卡用户违约和支付数据集credit card,对比了model builder和采用本方法得到的分箱结果,表明基于决策树的最优分箱效果超过了model builder:分箱数量合理、箱内样本数量均匀、iv值比model builder跑出来的要大。

python最优分箱计算iv值_GitHub - zhaoxingfeng/WOE: Weight of Evidence,基于iv值最大思想求最优分箱...相关推荐

  1. 评分卡模型、WOE(Weight of Evidence)和IV(Information Value)

    WOE(Weight of Evidence) IV(Information Value) 在机器学习的二分类问题中,IV值(Information Value)主要用来对输入变量进行编码和预测能力评 ...

  2. 图像五值化与基于三值图像的车牌识别(1)

    庆祝2011年新年 张忠义 海口愚佬会教育科技有限公司 全文下载 www.yulaohui.com/color5_2/ 摘 要:      图像五值化是通过公式Y =(R+G)/2,将RGB空间映射到 ...

  3. python woe分箱_python自动分箱,计算woe,iv的实例代码

    笔者之前用R开发评分卡时,需要进行分箱计算woe及iv值,采用的R包是smbinning,它可以自动进行分箱.近期换用python开发, 也想实现自动分箱功能,找到了一个woe包,地址https:// ...

  4. 特征工程之特征分箱(决策树分箱、卡方分箱、bestks以及评价标准WOE和IV)

    特征工程之特征分箱:决策树分箱.卡方分箱.bestks以及评价标准 1.WOE和IV 2.无监督分箱 2.1等频分箱 2.2等距分箱 3.有监督分箱 3.1决策树分箱 3.2best-ks分箱 3.3 ...

  5. 概率统计Python计算:F分布分位点计算

    设XXX,YYY相互独立,且分别服从χ2(m)\chi^2(m)χ2(m)和χ2(n)\chi^2(n)χ2(n),则XY\frac{X}{Y}YX​~F(m−1,n−1)F(m-1, n-1)F(m ...

  6. 概率统计Python计算:学生分布分位点计算

    设XXX~N(0,1)N(0,1)N(0,1),YYY~χ2(n)\chi^2(n)χ2(n),且XXX与YYY相互独立,则XY/n\frac{X}{\sqrt{Y/n}}Y/n​X​~t(n)t(n ...

  7. Python编写一个程序来计算 BMI 值。

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.BMI是什么? 二.使用步骤 1.简单代码 2.结果 总结 前言 Python编写一个程序来计算 BMI 值: 一 ...

  8. 创建一个Python脚本,实现以下功能。(1)定义一个函数,用于计算圆柱体的表面积、体积,函数名为comput,.输入参数为底半径(r)、高(h),返回值为表面积(S)、体积(V),返回多值的函

    创建一个Python脚本,实现以下功能. (1)定义一个函数,用于计算圆柱体的表面积.体积,函数名为comput,.输入参数为底 半径(r).高(h),返回值为表面积(S).体积(V),返回多值的函数 ...

  9. Python实现——依次计算一系列给定字符串的字母值,字母值为字符串中每个字母对应的编号值(A对应1,B对应2,以此类推,不区分大小写字母,非字母字符对应的值为0)的总和。

    题目内容: 依次计算一系列给定字符串的字母值,字母值为字符串中每个字母对应的编号值(A对应1,B对应2,以此类推,不区分大小写字母,非字母字符对应的值为0)的总和.例如,Colin 的字母值为 3 + ...

最新文章

  1. SDK开发日积月累(二)
  2. ***如何优雅的选择字体(font-family)
  3. c#大文件读取和写入数据库
  4. 【论文阅读】A social recommender system using item asymmetric correlation
  5. pythonbreak语句教程_Python break语句详解
  6. 前端常见知识点一之HTTP
  7. 记账本开发进程第四天
  8. RocketMQ配置
  9. r k-means 分类结果_机器学习-Kmeans均值聚类算法(贪心学院)
  10. DISCUZ中判断当前页是否是门户首页
  11. backtracking算法
  12. 【渝粤教育】电大中专电商运营实操 (18)作业 题库
  13. android插件化之路
  14. vue中$nextTick()作用
  15. Okhttp之CacheInterceptor简单分析
  16. 配置springMVC时出现的问题
  17. CTabSheet类源码
  18. 验证数据是否满足正态分布——Q-Q图和P-P图
  19. Pettitt突变点检测
  20. ACE+TAO环境搭建 windows平台

热门文章

  1. 02 typedef
  2. Eclipse安装Hibernate插件快速生成配置文件
  3. 爱尔兰向欧盟上诉:没特别给苹果税收优惠 欧盟手伸的太长
  4. Android 基础(十三) shape
  5. ​win7下安装sourcetree
  6. 前端开发JS的学习之AngularJS库
  7. 有三角形的即时通讯源码?
  8. 2013年,6月20日,今天非常无聊啊。
  9. 飞鸽传书也具有五华石乡特色
  10. 飞秋官方下载 访问我博客也有近一半的用户