目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5930.7k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(498)
赞(0)

卡方分箱原理

image-20220425213712811

卡方分箱(ChiMerge)的两个阶段

  1. 初始化阶段:

    首先按照属性值的大小进行排序(对于非连续特征,需要先做数值转换,然后排序),然后每个属性值单独作为一组。

  2. 合并阶段:

    (1)对每一对相邻的组,计算卡方值。

    (2)根据计算的卡方值,对其中最小的一对邻组合并为一组。

    (3)不断重复(1),(2)直到计算出的卡方值都不低于事先设定的阈值,或者分组数达到一定的条件(如最小分组数5,最大分组数8)。

值得注意的是,有的实现方法在合并阶段,计算的并非相邻组的卡方值(只考虑在此两组内的样本,并计算期望频数),因为他们用整体样本来计算此相邻两组的期望频数。

下图是著名的鸢尾花数据集sepal-length属性值的分组及相邻组的卡方值。最左侧是属

性值,中间3列是class的频数,最右是卡方值。这个分箱是以卡方阈值1.4的结果。可以看

出,最小的组为[6.7,7.0),它的卡方值是1.5。

image-20220425214755615

如果进一步提高阈值,如设置为4.6,那么以上分箱还将继续合并,最终的分箱如下图:

image-20220425215353658

卡方分箱除了用阈值来做约束条件,还可以进一步的加入分箱数约束,以及最小箱占比,坏样本率(Bad Rate)约束等

注意:

Bad Rate:坏样本率,分档内坏样本数 / 分档内全部样本数

WOE编码

分箱后的值不能直接进模型,常用WOE(Weight of Evidence,即证据权重)的形式进行分箱后的编码。WOE用来衡量自变量与因变量的相关性。

image-20220425215712346

试想我们当前处理的是一个二分类问题共100条记录,一个自变量只有两个值v1, v2。v1

有50条记录,其中40条对应label 1,另外10条对应label 0。v2有50条记录,其中25条对应

label 1,另外25条对应label 0。如下图Event%对应*count_1_ratio, Non Event%对应

count_0_ratio。可见v1的woe值远远高于v2的,直观上我们也可以看出来,v1确实有更好

的区分度。

image-20220427102446439

  • 对于连续型变量,分成N个bins; 对于分类型变量保持类别group不变
  • 计算每个bin or group中event和non-event的百分比
  • 连续型变量可以转化为woe的分类变量
  • woe相似的bin or group可以归到一起进行合并

IV

woe针对的是变量中单个的值或者group,而iv则是这些值或者group woe的一个加权

image-20220427102900534

怎么取理解不同大小的iv值

  • iv < 0.02, 这个变量基本上没有用
  • 0.02 <= iv < 0.1, 作用很微小
  • 0.1 <= iv < 0.3, 作用还行
  • 0.3 <= iv < 0.5, 有比较强的作用
  • iv > 0.5, 作用很好(但这个时候你得去仔细检查,看看是否变量是否包含了标签的信息)

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2