「特征工程」初探

1、数据清洗

数据清洗主要是对原始给定的数据进行规整化,目的是得到一份适合机器学习模型处理的基本数据集。
一般在实际业务场景下,得到的数据会存在缺失的情况。
大部分机器机器学习模型不能自动处理数据含有缺失的情况,所以在正式开始模型训练前,需要确定各个特征缺失的情况,以及制定相应的处理方式。

1.1)直接删除缺失数据

当数据量比较大而缺失情况又不是很严重时,可以考虑直接删除训练集中含有缺失值样本的数据。
这样做的好处可以降低数据中的噪声,毕竟对一个缺失值进行填充不可能做到百分百准确,而不准确的填充会带来额外的噪声。坏处,首先,减少训练的数据;其次,测试集中的样本是不能删除的,所以这样了能造成测试集和训练集数据分布不一致,而很多时候,数据分布对模型训练和预测有比较大的影响的。

1.2)固定值填充

固定值填充是一种很简单的方式,比如用“0”直接填充缺失值。但有时,这种方法显得不是很科学,特别是当缺失比例比较大时,如果强行用固定值去填充,给数据带来的噪声是非常大,很容易造成过拟合。

1.3)均值/中位数填充

使用均值和中位数填充算是固定值填充的一个优化方案。
对于各个特征来说,其本质上还是使用固定值来填充,只不过这个固定值(各个特征的均值或中位数)可能离实际情况更接近一些,毕竟大部分数据取值的分布还是服从高斯分布的,而高斯分布的中间部分是占据了整体取值情况的大部分。

1.4)相邻值填充

使用相邻值填充也算是固定值填充的一个改进方案,比如使用缺失值前面或后面的值进行缺失值的填充。优点,填充值来源于特征取值的某个真实情况,并且不同缺失位置填充的是不同的值,数据扰动比直接使用固定的值或均值填充要好,所以不那么容易出现过拟合。缺点,采用相邻值代替时,偶然性比较大,即可能某个缺失值正好跟它相邻位置的取值是接近的,但也有可能相差很大。

1.5)模型预测填充

使用模型来预测进行填充。好处,尽量保证填充准确度的同时减少数据扰动,理论上比前面的方法好一些。

2、特征处理

特征处理的主要目的是结合后续使用模型的特点(不同模型对输入数据类型的要求可能不一样),将清洗后的数据进行相应的转化。数值型特征一般需要进行归一化、标准化、离散化等处理。

2.1)归一化

一般我们需要将不同特征取值的量纲统一。特征归一化的原理为
x ′ = x − x m i n x m a x − x m i n x^{'}=\frac{x-x_{min}}{x_{max} - x_{min}} x=xmaxxminxxmin
式中, x x x 表示某个特征的原始取值, x ′ x^{'} x 表示该特征被归一化处理后对应的值, x m i n x_{min} xmin x m a x x_{max} xmax分别表示该特征原始取值中的最小值和最大值。
归一化处理后,特征的所有取值都被压缩到了[0, 1]这个区间。

2.2)标准化

标准化是另一中统一特征量纲的方法,表达式为
x ′ = x − μ σ x^{'}=\frac{x-μ}{σ} x=σxμ
式中, μ μ μ是某个特征的原始值的均值, σ σ σ是对应标准差。

2.3)离散化

数值型特征除直接使用外,还有就是离散化。离散化的方式比较灵活,可以直接某个数值型特征根据其取值大小做均分,比如1~100被均分成10等份,即1-10对应类别“1”,11-20 对应类别“2”…91-100对应类别“10”。但是实际情况下,要根据实际业务特征或数据的分布情况来觉得离散化的划分区间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值