python建模数据分箱_【Python数据分析】基于决策树的有监督自动分箱实战代码(自定义封装函数)...

什么叫分箱?

连续变量的离散化处理。例如年龄:从1、2、3、4……100变成“1~20”、“21~30”差不多这个样子。

问题场景(为什么要分箱):

不论是做业务分析还是建模前的特征工程,经常会遇到一个问题,连续变量需要分箱。且分箱会有一个诉求:分出来的组,对于目标指标(比如转化率)差异最大。

业务分析中这样做的目的在于:一些连续变量对于最终结果指标的影响程度有更好的可解释性。

比如客户的年龄与转化率相关性可能0.3~0.5,有一定的相关性,这样的结果很难下结论,也很难进行下一步推进。

但如果进行了分箱,比如:我们将客户分成了25岁以下,25~35岁,和35岁以上,可以发现,年龄较大的群体转化率更高,可以告诉业务方我们的产品更能吸引什么年龄段的用户。业务更能接受分了群的用户群体,而不是1~100的精确年龄。

而特征工程中试用分箱主要还是增强模型的泛化能力,避免过拟。

难点:

很直白的问题,怎么分才最合适?

解题思路:

分箱的方法论网上能搜到很多,分为有监督和无监督,这里不展开。

这里主要分享我整合的一个分箱函数。调用可以直接完成分箱。

代码与解释:

#系统
import os

#可视化包
import seaborn as sns
from IPython.display import Image
import pydo
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值