特征工程——一个粗糙调研
1. 数据预处理
通过特征提取,我们能得到未经处理的特征,这时的特征可能有以下问题:
1) 不属于同一量纲:即特征的规格不一样,不能够放在一起比较。 ——无量纲化
无量纲化使不同规格的数据转换到同一规格:
- 标准化(Z-Score):前提是特征值服从正态分布,标准化后,其转换成标准正态分布。
- 区间缩放法(min-max标准化):利用边界值信息,将特征的取值区间缩放到某个特定的范围,例如[0, 1]等。
- 正则化(Normalization):正则化的过程是将每个样本缩放到单位范数(每个样本的范数为1),其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。 ——依照特征矩阵的行处理数据
2) 信息冗余:对于某些定量特征,其包含的有效信息为区间划分,例如学习成绩,假若只关心“及格”或不“及格”,那么需要将定量的考分,转换成“1”和“0”表示及格和未及格。 ——二值化
- 定量特征二值化:核心在于设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0,公式表达如下:
3) 定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,那么需要将定性特征转换为定量特征。 ——哑编码
- 哑编码:假设有N种定性值,则将这一个特征扩展为N种特征,当原始特征值为第i种定性值时,第i个扩展特征赋值为1,其他扩展特征赋值为0。
4) 存在缺失值:缺失值需要补充。
- 直接删除:适用于缺失值较多的情况
- Mean、Max、Min、上下数据等填充
- 插值法填充:简单来说,就是通过两点(x0,y0),(x1,y1)估计中间点的值。
- 算法拟合:回归预测 ——随机森林等
- 参数似然:数据总体分布已知,通过已观测数据的分布对未知参数进行似然估计的方法。 ——EM算法
- 加权调整:将缺失记录所占权重分解到非缺失记录上,增大有观测值的记录的权重,以减少数据缺失可能对结果所带来的误差。
- ROUSTIDA算法:寻找相似对象进行填补。
5) 信息利用率低:不同的机器学习算法和模型对数据中信息的利用是不同的,通过数据变换平滑数据分布,以提高算法和模型对数据中信息的利用程度。 ——使数据接近正态分布
常用变换及适用数据分布:
- 平方/立方根变换:
- 对数变换:
- 逆/倒数变换:
- 平方/立方变换:
- 指数变换:
2. 特征选择
当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:
1) 特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
2) 特征与目标的相关性:与目标相关性高的特征,应当优选选择。
根据特征选择的形式又可以将特征选择方法分为3种:
1) Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
- 方差选择法:计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。
- 相关系数法:计算各个特征对目标值的相关系数P值。
- 卡方检验:检验定性自变量对定性因变量的相关性。
假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距,构建统计量:
这个统计量的含义就是自变量对因变量的相关性。
- 互信息法(信息增益):评价定性自变量对定性因变量的相关性。
计算公式:
2) Wrapper:封装法,利用学习算法的性能来评价特征子集的优劣。根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。寻找最优特征子集。
- 递归特征消除法:使用一个基模型来进行多轮训练。首先,预测模型在原始特征上训练,每个特征指定一个权重。之后,那些拥有最小绝对值权重的特征被踢出特征集。如此往复递归,直至剩余的特征数量达到所需的特征数量。
3) Embedded:嵌入法,在嵌入式特征选择中,特征选择算法本身作为组成部分嵌入到学习算法里。 ——如决策树中的ID3、C4.5(计算最大信息增益、信息增益比)
3. 降维——PCA和LDA
本质都是要将原始的样本映射到维度更低的样本空间中。
1) 主成分分析法(PCA)
PCA是一种无监督的降维方法,输入数据是不带标签的,目标是为了让映射后的样本具有最大的发散性,即降低了维度的数据之间的方差最大。
2) 线性判别分析法(LDA)
LDA的输入是带标签的数据,目的是为了让映射后的样本有最好的分类性能,即类别内的点距离越近越好(集中),类别间的距离越远越好。
参考:
特征选择点机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)