机器学习中特征的处理及选择

  • Post author:
  • Post category:其他


基础概念

特征工程是通过对原始数据的处理和加工,将原始数据属性通过处理转换为数据特征的过程,属性是数据本身具有的维度,特征是数据中所呈现出来的某一种重要的特性,通常是通过属性的计算,组合或转换得到的。比如主成分分析就是将大量的数据属性转换为少数几个特征的过程。某种程度而言,好的数据以及特征往往是一个性能优秀模型的基础。

既然叫特征工程,自然涵盖了很多内容,而其中涉及到的比较重要的部分是特征的处理及选择。

特征处理包含:

  • 数据清洗
  • 数据规范化
  • 特征衍生与提取

特征选择包含:

  • 特征过滤
  • wrapper method
  • embedded method

数据清洗

数据清洗是指发现并纠正数据文件中可识别的错误以及通过处理得到建模过程需要数据的过程。

数据清洗包含:

  • 缺失值处理
  • 异常值检测与处理
  • 调配样本比例和权重

缺失值处理

缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的。

缺失值的处理目前主要有两种方法:删除缺失值和填充缺失值

1.删除缺失值

如果一个样本或变量中所包含的缺失值超过一定的比例,比如超过样本或变量的一半,此时这个样本或变量所含有的信息是有限的,如果我们强行对数据进行填充处理,可能会加入过大的人工信息,导致建模效果打折扣,这种情况下,我们一般选择从数据中剔除整个样本或变量,即删除缺失值。

2.缺失值填充

  • 随机填充法

从字面上理解就是找一个随机数,对缺失值进行填充,这种方法没有考虑任何的数据特性,填充后可能还是会出现异常值等情况,一般情况下不建议使用。

  • 均值填充法

寻找与缺失值变量相关性最大的那个变量把数据分成几个组,然后分别计算每个组的均值,然后把均值填入缺失的位置作为它的值,如果找不到相关性较好的变量,也可以统计变量已有数据的均值,然后把它填入缺失位置。这种方法会在一定程度上改变数据的分布。

  • 最相似填充法

在数据集中找到一个与它最相似的样本,然后用这个样本的值对缺失值进行填充。

与均值填充法有点类似,寻找与缺失值变量(比如x)相关性最大的那个变量(比如y),然后按照变量y的值进行排序,然后得到相应的x的排序,最后用缺失值所在位置的前一个值来代替缺失值。

  • 回归填充法

把缺失值变量作为一个目标变量y,把缺失值变量已有部分数据作为训练集,寻找与其高度相关的变量x建立回归方程,然后把缺失值变量y所在位置对应的x作为预测集,对缺失进行预测,用预测结果来代替缺失值。

  • k近邻填充法

利用knn算法,选择缺失值的最近k个近邻点,然后根据缺失值所在的点离这几个点距离的远近进行加权平均来估计缺失值。

异常值检测与处理

异常值(outlier)是指一组测定值中与平均值的偏差超过两倍标准差的测定值,与平均值的偏差超过三倍标准差的测定值,称为高度异常的异常值。异常值的产生一般由系统误差、人为误差或数据本身的变异引起的。

  • 单变量异常值检测(格拉布斯法)

首先,将变量按照其值从小到大进行顺序排列x1,x2…..xn

其次,计算平均值x拔和标准差S,