在机器学习中特征工程还很重要的,因此在此处说一下它的特征选择。
1 特征选择
个人理解:特征工程其实就是最大限度地从原始数据中提取重要的特征(减少特征之间的相关性等)以供算法和模型使用,来完成相应的操作目标。
主要有:Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征
1.1 方差选择法
1.2 相关系数法
1.3 卡方检验
1.4 互信息法
Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征
2.1 递归特征消除法
Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。
3.1 基于惩罚项的特征选择法
3.2 基于树模型的特征选择法
2 具体方法的分析
1.1 方差选择法:使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。
1.2 相关系数法:使用相关系数法,先要计算各个特征对目标值的相关系数以及相关系数的P值,然后选择前的k个值
1.3 卡方检验:
卡方检验是检验定性自变量对定性因变量的相关性。假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距,构建统计量:
选择K个最好的特征,返回选择特征后的数据。
1.4 互信息法:经典的互信息也是评价定性自变量对定性因变量的相关性的,互信息计算公式如下
2.1 递归特征消除法:递归消除特征法使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练
3.1 基于惩罚项的特征选择法:使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维