数据挖掘之特征工程简要流程

1. 特征工程是什么

相信很多人都听说过这么一句话,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。顾名思义,特征工程的目的是最大限度地从原始数据中提取特征以供算法和模型使用;特征工程的核心部分是特征处理,包括数据标准化,数据归一化,特征筛选,降维等。

2. 数据预处理

2.1异常值处理

在一个数据集里面往往会存在一些异常值,孤立值。虽说它们是数据集的一部分,但是相对于数据集整体来说,它们“离群索居”,是数据集里面的极特殊的少数派,不能代表数据集的一般规律,会影响回归或分类的准确性。

下面是三种异常值处理方法:
通过箱线图(或 3-Sigma)分析删除异常值;
BOX-COX 转换(处理有偏分布);
长尾截断;

2.2 特征归一化与标准化

归一化与标准化有相似之处,但作用却大不相同。归一化是依照特征矩阵的列处理数据,将样本的特征值转换到同一量纲下,把数据映射到[0,1]或者[-1, 1]区间内,仅由变量的极值决定。标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,转换为标准正态分布,和整体样本分布相关,每个样本点都能对标准化产生影响。它们的相同点在于都能取消由于量纲不同引起的误差;都是一种线性变换,都是对向量X按照比例压缩再进行平移。

  • 标准化(转换为标准正态分布)
    Z-score规范化:
    x’ = (x - μ)/σ
    中心化:
    x’ = x - μ
  • 归一化(抓换到 [0,1] 区间)
    区间放缩法:
    x’ = (x - X_min) / (X_max - X_min)
    平均归一化:
    x’ = (x - μ) / (x_max - x_min)

2.3 数据分桶

数据分桶简单来说就是在列外面加上另外的索引结构(一系列桶),把不同区间的值划分到相应的桶中。分桶可以提高查询和抽样的效率,使连续的数据离散化。特征的离散有能进一步提高模型的稳定性。特征分桶分为等距分桶,等频分桶,Best-KS 分桶(类似利用基尼指数进行二分类),卡方分桶。下面简单说一下等距分桶

等距分桶
有一个人的年龄大小序列[10,15,27,31,42,56,66,87]
依照距离为30分桶,[10,15,27]可以分到a桶,[31,42,56]分到b桶,[66,87]分到桶C

2.4 缺失值处理

丢弃
这种效率最高,操作最简单,但是丢弃数据会损失部分信息。主要适用于,丢弃缺失大量数据的行或列,或者丢弃大量数据项中极少的数据缺失项

补全
顾名思义即使用科学的方法补全数据,这种方法对后续的建模大有好处

统计法
使用均值,加权均值,众数等统计量进行补全

模型法
基于现有数据使用神经网络等算法预测缺失值

真值转换法
当缺失值或异常值为属性时,把缺失值或异常值当做一种属性值。

3. 特征构造

特征构造即利用现有的特征构造出与预测值有更强相关性的特征,提高预测的准确度。最简单的特征构造例子是由二手车的开始使用时间和结束使用时间构造出二手车的使用时间。二手车的使用时间与价格有着更明显的关系。

常用的特征构造方法有以下这些:
构造统计量特征,报告计数、求和、比例、标准差等;
时间特征,包括相对时间和绝对时间,节假日,双休日等;
地理信息,包括分箱,分布编码等方法;
非线性变换,包括 log/ 平方/ 根号等;
特征组合,特征交叉;
仁者见仁,智者见智。

4. 特征筛选

当数据预处理和特征构造完成后,我们就需要从形形色色的特征中找出“最靓的崽”,即最有训练价值的特征进行机器学习建模。什么特征是最有价值的呢,首先我们用x自变量来代表特征,因变量y代表预测值。既然我们使用特征来估算预测值,那么就有

y = f(x)

按照常识来说,x的值要相对发散,如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用;
另外,特征与目标的相关性也是需要考虑的,这点比较显见,与目标相关性高的特征应当优先选择。
根据特征选择的形式又可以将特征选择方法分为3种:

过滤式(filter):先对数据进行特征选择,然后在训练学习器,常见的方法有 Relief/方差选择发/相关系数法/卡方检验法/互信息法;
包裹式(wrapper):直接把最终将要使用的学习器的性能作为特征子集的评价准则,常见方法有 LVM(Las Vegas Wrapper) ;
嵌入式(embedding):结合过滤式和包裹式,学习器训练过程中自动进行了特征选择,常见的有 lasso 回归;

5. 降维

当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大、训练时间长的问题,因此降低特征矩阵维度也是必不可少的。

常用的降维方法有PCA、LDA、 ICA。

版权声明:本文为CSDN博主「小柳哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44949310/article/details/105165791

最新文章