机器学习入门准备

本文介绍了特征工程中的关键处理方法,包括归一化、标准化、特征离散化等,并探讨了特征交叉的重要性和处理方式。针对不同类型的特征给出了具体的处理建议。

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

特征工程

归一化

归一化就是将数据经过某种算法限制在一定范围内,一是为了处理数据的方便,二也可以保证程序运行时收敛速度加快(比如梯度下降算法),精度加高,本质上似乎为了使得各个特征维度对目标函数的影响权重是一致的

标准化

和归一化看上去十分地类似,不过其实和归一化也没有必要区分地特别清楚,标准化是对特征维度大小的伸缩,使得特征之间具备可比性,其实没有必要和归一化划分地过于清晰

特征离散化

  一些特征是分类的特征,这部分特征我们要进行离散化处理,这种我们比较好理解。对于另外一些特征,虽然是数值型的,但是这些特征的取值相加减是没有实际意义的,那么该数值新特征也要看成离散特征,采用离散化的技术:比如年龄20岁和年龄30岁往往对一个广告的兴趣差距不会那么大,这种时候我们也要进行特征离散化。

特征交叉

  交叉从理论上而言是为了引入特征之间的交互,即为了引入非线性,这也便是特征交叉的意义。知乎上有一个最简单的例子,性别和年龄,可以组成性别_年龄的一个新特征,即可以得到新的特征属性,然后再对这个特征做one-hot编码,即可以得到新的特征属性值。

不同特征类型的不同处理方式

  1. 连续特征,除了归一化(去中心,方差归一),不用做太多特殊处理,可以直接把连续特征扔到模型里使用。
  2. 无序特征,可以使用one-hot的方法把每个无序特征转化为一个数据向量。实际上这种方法在NLP中用的很多,就是所谓的词向量模型。变换后的向量长度对于词典长度,每个词对应于向量中的一个元素。
  3. 无序特征,有些特征虽然也像无序特征那样只取限定的几个值,但是这些值之间有顺序的含义,比如状态有三种取值,bad、normal、good,显然我们有关系bad< normal< good。这时最简单的处理方式就是忽略其中的顺序关系,把它看做是无序的,这样我们就可以使用处理无序特征的方式来处理它,这样的处理方式也使用得很多,而又写问题里面有序可能会很重要,这个时候就不应该把其中的顺序关系丢掉,这个时候可能我们就不会简单的使用one-hot,而是简单地改一下,


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值