特征选择的意义
在对数据进行异常值、缺失值、数据转换等处理后,我们需要从当前数据集中选出有意义的特征,然后输入到算法模型中进行训练。
对数据集进行特征选择主要基于以下几方面的考虑:
1.冗余的特征会影响阻碍模型找寻数据潜在的规律,若冗余的特征过多,还会造成维度容灾,占用大量的时间空间,使算法运行效率大打折扣。
2.去除不相关的特征会降低学习任务的难度,保留关键的特征更能直观的看出数据潜在的规律。
那么,该如何进行特征选择呢?通常,要从两方面考虑来选择特征:
1.特征是否具有发散性:
如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
2.特征与目标的相关性:
如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
根据特征选择的标准,又能分为filter、wrapper、embedded三种方法。
Filter方法
过滤法的主要思想是查看特征的发散性和特征与目标的相关性,通过设定阈值的方法,过滤发散性低、相关性不强的特征。
过滤法先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关,即先选好特征,再用过滤后的特征来训练模型。