亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~
本博客的精华专栏:
【自动化测试】 【测试经验】 【人工智能】 【Python】
在机器学习的特征工程中,数值型特征并不总是适合直接输入模型。尤其是树模型或分类模型时,**将连续变量进行离散化(分箱)+ 虚拟编码(独热编码)**是一种常见且高效的处理方式。
本文将结合 Sklearn
,从基础概念到完整代码演示,带你系统掌握这一预处理技巧
数值离散化,又称为分箱(binning),是将连续数值划分为不同区间(bin):
场景 | 例子 |
---|---|
年龄转分箱 | 将“年龄”分为:青少年(0-18)、青年(19-35)、中年(36-55)、老年(56+) |
收入分段 | 低收入、中等收入、高收入 |
离散化后的变量为分类变量,但模型无法直接理解文字类别。因此我们需要将它们编码为 数值型的独热向量(0/1),这就是:
原始类别 | One-Hot 编码 |
---|---|
青少年 | [1, 0, 0, 0] |
中年 | [0, 0, 1, 0] |
下面我们通过一个完整示例演示如何用 Sklearn
实现:
KBinsDiscretizer
将 age