
180
|
第
10
章
使用特征选择进行降维
ANOVA F
值。在根据目标向量对数值型特征分类时,该值可以用来判断每个分类的特
征均值之间的差异有多大。例如,如果有一个二元目标向量(性别)和一个数值型特征(考
试分数),那么
ANOVA F
值可以用来判断男性的平均得分是否与女性的相同。如果相同,
那么考试分数并不能帮助我们预测性别,因此这个特征与目标向量是无关的。
10.5
递归式特征消除
问题描述
自动选择需要保留的最优特征。
解决方案
使用
scikit-learn
的
RFECV
类通过交叉验证(
Crossing Validation
,
CV
)进行递归式特征
消除(
Recursive Feature Elimination
,
REF
)。该方法会重复训练模型,每一次训练移除
一个特征,直到模型性能(例如精度)变差。剩余的特征就是最优特征 :
#
加载库
import warnings
from sklearn.datasets import make_regression
from sklearn.feature_selection import RFECV
from sklearn import datasets, linear_model
#
忽略一些烦人但无害的警告信息
warnings.filterwarnings(action="ignore", module="scipy",
message="^internal gelsd")
#
生成特征矩阵、目标向量以及系数
features, ...