特征选择是在众多的特征里面选择和我们的变量相关的特征,在这一章里面讲了很多的方法:
第一个是使用相关系数来进行度量,相关系数越高,表明我们的特征和目标变量越相关。
第二个是使用统计学当中的一些知识来进行检测。sklearn中的SelectKBest可以帮助我们完成特征选择的任务。常见的有卡方检测、方差检测等。 还有一些比如P值等。
第三个是使用基于模型的特征选择方法。sklearn中的SelectFromModel可以和模型一起使用。基本上分两种,一种是使用树形结构,比如决策树和随机森立,它们的模型里面有一个feature_importances_的属性,可以查看特征的重要程度,另外一种是回归模型,如线性回归和svm,它里面有coef_ 属性,可以看模型的重要程度。
使用前两种方法是首先看特征是否相关,然后再运用到模型当中。而使用第三种方法是先建立模型,把特征运用进去,然后看哪种特征相关。
那么在进行模型选择的时候如何挑选合适的方法哪?下面是一些指导原则:
如果你的属性大多是分类类型,那么这个时候选择统计检测或者是树模型。
如果你的属性大多是数值类型,那么使用相关系数或者线性模型。
如果你尝试解决一个二分类问题,使用svm是一个不错的选择。