特征处理
特征工程通常会提取大量的特征,而好的特征将会对模型的预测功能产生好的影响,是一个事半功倍的过程;差的特征会对模型最终的预测功能产生不利的影响,其实在数据挖掘或数据分析领域,80%的主要工作都集中于对数据的特征处理上,而关于模型的选择和融合仅占20%左右,由此可见特征处理的重要性。
- 劣汰:去除几乎无关的特征,保留大量特征
- 优胜:挑选出良好的特征,组成最优特征子集
在对数据分析并进行特征选择的过程中,主要分为如下三个步骤:数据分析与探索、观察数据特点以去除无用特征、基于相关性分析和独立性分析去除弱关联特征 。
特征重要性分析方法
这里主要说明两种特征重要性分析方法,分别为
- SHAP
sklearn中有很多模型都有importance这个接口,可以查看数据特征的重要性,SHAP(SHapley Additive exPlanation)是Python开发的一个“模型解释”包,可以解释任何机器学习模型的输出,对于每个预测样本,模型都会产生一个预测值,SHAP value就是该样本中每个特征所分配到的数值。其中SHAP value的值为正,则表明变量对预测值有促进作用;相反SHAP value的值为负,则表明变量对预测值有抑制作用。
目前已有开源代码,具体可参考:
链接:https://github.com/slundberg/shap - Permutation Importance
Permutation Importance也是计算特征重要性的一种