特征选择是根据特定标准选择特征最佳子集的过程。
为什么我们需要特征选择(feature selection)?
特征选择最直观的原因是避免维度灾难,维度太多对算法运算速度、可解释性等方面都带来很多影响;其次就是特征少便于进行可视化,进而利于模型选择;最后,维度太多必然带来很多噪音,这对我们建立模型是非常不利的。
概括如下:
- 提高性能(在速度,预测能力,模型的简单性方面)
- 可视化模型选择的数据
- 减少维数并消除噪音
特征选择带来的好处:
- 删除不相关的数据。
- 提高学习模型的预测准确性。
- 降低数据成本。
- 提高学习效率,例如降低存储要求和计算成本。
- 降低了最终模型描述的复杂性,提高了对数据和模型的理解。
特征选择的三大方法
- 过滤法:选择变量子集,并不考虑随后使用它们的模型。
- 包裹法:选择变量子集,并兼顾考虑使用它们的模型。
- 嵌入法:特征选择方法建立、植入在机器学习模型(或更确切地说是其训练算法)本身(例如决策树)中。
过滤法(Filter)
过滤法检验特征向量和目标(响应变量)的相关度,不依赖于任何模型,应用各种指标做筛选,包括依据统计量的措施、相关性度量、一致性度量、准确性度量。
所以,从某种程度上来说,过滤法更像是一个单独的数学问题,不考虑与模型间的关系,我们只在过滤之后的特征子集上进行建模和训练。
属于过滤法的特征选择方法很多,只要是能确定特征相对于目标变量、预测结果的重要性高,就会被选中,下面举一些典型的过滤方法。
信息熵
信息熵用于度量在接收消息时测量接收器的不确定性。
香农的熵:
信息增益