【数据建模 特征分箱】特征分箱的方法

在建模中,需要对连续变量离散化,特征离散化后,模型会更稳定,降低了模型过拟合的风险。

有监督的卡方分箱法(ChiMerge)

自底向上的(即基于合并的)数据离散化方法。
它依赖于卡方检验:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。

基本思想:

对于精确的离散化,相对类频率在一个区间内应当完全一致。因此,如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则,它们应当保持分开。而低卡方值表明它们具有相似的类分布。

这里写图片描述

这里需要注意初始化时需要对实例进行排序,在排序的基础上进行合并。

卡方阈值的确定:

根据显著性水平和自由度得到卡方值
自由度比类别数量小1。例如:有3类,自由度为2,则90%置信度(10%显著性水平)下,卡方的值为4.6。

阈值的意义

类别和属性独立时,有90%的可能性,计算得到的卡方值会小于4.6。 大于阈值4.6的卡方值就说明属性和类不是相互独立的,不能合并。如果阈值选的大,区间合并就会进行很多次,离散后的区间数量少、区间大。
  
注:
1,ChiMerge算法推荐使用0.90、0.95、0.99置信度,最大区间数取10到15之间.
2,也可以不考虑卡方阈值,此时可以考虑最小区间数或者最大区间数。指定区间数量的上限和下限,最多几个区间,最少几个区间。
3,对于类别型变量,需要分箱时需要按照某种方式进行排序。

无监督分箱法:

等距划分、等频划分

等距分箱
  从最小值到最大值之间,均分为 N 等份, 这样, 如果 A,B 为最小最大值, 则每个区间的长度为 W=(B−A)/N , 则区间边界值为A+W,A+2W,….A+(N−1)W 。这里只考虑边界,每个等份里面的实例数量可能不等。
  
等频分箱
  区间的边界值要经过选择,使得每个区间包含大致相等的实例数量。比如说 N=10 ,每个区间应该包含大约10%的实例。
  
以上两种算法的弊端
  比如,等宽区间划分,划分为5区间,最高工资为50000,则所有工资低于10000的人都被划分到同一区间。等频区间可能正好相反,所有工资高于50000的人都会被划分到50000这一区间中。这两种算法都忽略了实例所属的类型,落在正确区间里的偶然性很大。

我们对特征进行分箱后,需要对分箱后的每组(箱)进行woe编码,然后才能放进模型训练。

  • 6
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在python中,可以使用等频分箱方法来进行风控建模中的连续变量分箱。等频分箱是一种常见的自动分箱方法,它将数据按照相同数量的样本分配到每个箱子中。这种方法可以在保持数据分布的同时减小异常值的影响。 要在python中实现等频分箱,你可以使用pandas库中的cut()函数。cut()函数可将连续变量划分为多个等频的区间,然后可以将每个区间视为一个箱子。 下面是一个示例代码,展示了如何使用Python进行等频分箱: ```python import pandas as pd # 创建一个包含连续变量的DataFrame data = pd.DataFrame({'variable': [1, 2, 3, 4, 5,6, 7, 8, 9, 10}) # 使用cut函数进行等频分箱,将连续变量划分为3个箱子 data['bins'] = pd.cut(data['variable'], bins=3, labels=False) # 输出结果 print(data) ``` 运行上述代码,你将得到以下输出: ``` variable bins 0 1 0 1 2 0 2 3 1 3 4 1 4 5 2 5 6 2 6 7 2 7 8 2 8 9 2 9 10 2 ``` 在这个示例中,我们将连续变量划分为3个等频的箱子,通过cut()函数返回的结果可以看到每个变量对应的箱子标签。 请注意,这只是等频分箱的一种简单实现示例,实际应用中可能会根据具体情况进行调整和优化。另外,对于风控建模还有其他自动分箱方法,如等距分箱和基于决策树的分箱方法,你可以根据实际需求选择合适的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [风控ML[10] | 风控建模中的自动分箱方法有哪些](https://blog.csdn.net/Pysamlam/article/details/122787425)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

东华果汁哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值