【数据挖掘】(三) 特征工程
1. 特征工程概述
**特征工程:**找到与问题有关的任何信息并把它们转换成特征矩阵的数值
2 特征工程在本案例中的应用
2.1 异常值处理
在数据预处理时,是否对异常值进行剔除,需要视具体情况而定,因为有些异常值中也有可能蕴含有用的信息。
异常值处理方法 | 方法描述 |
---|---|
删除含有异常值的记录 | 直接将整条记录删除 |
视为缺失值 | 将异常值视为缺失值,利用对缺失值处理的方法处理异常值 |
平均值修正 | 可用前后两个观测值的平均值修正该异常值 |
不处理 | 直接在具有异常值的数据集上进行挖掘建模 |
在处理异常值时,应该先分析异常值出现的可能原因,再判断异常值是否应该舍弃,如果是正确的数据,可以直接在具有异常值的数据集上进行挖掘建模。
2.2 数据归一化
也称为数据规范化,是数据挖掘一项基础工作。由于不同评价指标往往具有不同量纲,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果。为此,将其按照比例进行缩放,使之落入一个特定的区域,以便于综合分析。
1)最值归一化
也称为离差标准化,是对原始数据进行线性变化,将数值映射到之间。转换公式:
其中:为样本数据的最大值,为样本的最小值。为极差。
**缺点:**若数值集中某个数值很大,则规范化后会接近于0,并且将会过度集中。而一旦遇到超过范围时的数据,将会出现报错,需重新确定和。
2)标准差归一化
也称为零-均值规范化,经过处理的数据均值为,标准差为。转换公式:
其中:为原始数据的均值,为原始数据的标准化。是目前最为常用的标准化方法
2.3 数据分桶
也称为连续数据离散化,即将连续属性变换成分类属性。对于某些数据挖掘算法如(ID3、Apriori算法等),要求数据是分类属性形式。
连续数据的离散化就是在数据的取值范围内设定若干个离散的划分点,将取值范围划分为一些离散化的区间,最后用不同的符号或整数值代表落在每个子区间中的数据值。所以,离散化涉及两个子任务:确定分类数以及如何将连续属性值映射到这些分类值。
常用的数据分桶方法有:等宽分桶、等频分桶、基于聚类的分桶……
1)等宽分桶
将属性的值域分成具有相同宽度的区间,区间的个数可以由数据本身决定也可由用户指定,类似于制作频率分布表。
**缺点:**1.需要人为规划分布区间;2.对于离群点比较敏感,倾向于不均匀地把属性值分布到各个区间,这样的结果会严重损坏建立的决策模型。
2)等频分桶
将相同数量的记录放进每个区间。
**优点:**避免了等宽分桶的缺点;
**缺点:**1.需要人为规划分布区间;2.可能将相同的数据值分到不同的区间以满足每个区间中固定的数据个数
3)基于聚类的分桶
一维聚类的方法包括两个步骤,首先将连续属性的值用聚类算法(如K-Means)进行聚类,然后将聚类得到的簇进行处理,合并到一个簇的连续属性值并做同一标记。
2.4 缺失值处理
针对缺失值的处理方法有三类:删除记录、不处理、数据插补和数据分箱。
1)删除记录
如果有小部分的样例有缺失,直接删除该样例的方法显然是最有效的。
**缺点:**会造成数据的浪费。
2)不处理
部分模型允许在含有缺失的数据集上建立模型。
3)数据插补
插补方法 | 方法描述 |
---|---|
固定值 | 用固定的常量进行代替 |
均值/中位数/众数 | 根据数据属性类型,对其直接用对应数值填补 |
最近邻插补 | 在记录中找到与缺失样本最接近的样本的该属性值插补 |
回归方法 | 根据已有数据和其他有关的其他变量(因变量)的数据建立拟合模型估计缺失值 |
插值法 | 利用几个已知点建立合适的插值函数,未知值由对应点求函数值填补 |
4)数据分箱
将数据含有缺失值的数据放在同一组中。
2.5 特征构建
2.6 特征筛选
2.7 降维
未完待续