数据预处理之独热编码(One-Hot):为什么要使用one-hot编码?

本文探讨了在机器学习中为何要使用独热编码(One-Hot)进行数据预处理,特别是在CTR预估任务中。独热编码将分类变量转化为二进制形式,有助于模型处理非连续数据并提升运算效率。同时,文章提到了独热编码的优缺点,以及在某些基于树的算法中可能不需要进行独热编码的情况。此外,还讨论了何时需要对特征进行归一化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题由来

最近在做ctr预估的实验时,还没思考过为何数据处理的时候要先进行one-hot编码,于是整理学习如下:

在很多机器学习任务如ctr预估任务中,特征不全是连续值,而有可能是分类值。如下:

 

    分类变量(定性特征)与连续变量(定量特征)。我们训练模型的变量,一般分为两种形式。以广告收入增长率为例,如果取值为0-1之间任意数,则此时变量为连续变量。如果把增长率进行分段处理,表示成如下形式:[0,0.3],(0.3,0.6],(0.6,1],那么此时变量为分类变量。

    特征转换。对于分类变量,建模时要进行转换,通常直接转换为数字。比如将[0,0.3],(0.3,0.6],(0.6,1]表示为0,1,2。原因主要有两点:

      1,转换后可以提高模型运算效率。

      2,对于一些模型,比如逻辑回归或计算距离时,无法对分类值直接进行计算。

              直接转换为数字,也会带来一些问题:

      1,转换为数字后,默认为连续变量,违背最初设计,影响效率。

      2,转换后的值会影响同一特征在样本中的权重。比如转换为1000和转换为1对模型影响明显不同。

      因此,需要更好的编码方式对特征进行转换。

 

    one-hot编码。one-hot编码的定义是用N位状态寄存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值