一、基于特征选择的降维
基于sklearn
的feature_selection
进行特征选择
SelectPercentile
将变量集中的特征变量与目标变量根据指定函数进行分析打分,只保留用户指定百分比的最高得分的特征
from sklearn import feature_selection
from sklearn.feature_selection import f_classif
# 默认使用f_classif进行分析打分,precentile=30表示只保留30%的特征
selector_1 = feature_selection.SelectPercentile(score_func=f_classif,percentile=30)
# x为输入的变量集,y为目标变量
sel_features1 = selector_1.fit_transform(x, y)
VarianceThreshold
保留高于指定**阈值(方差)**的特征
from sklearn import feature_selection
selector_2 = feature_selection.VarianceThreshold(1) # 保留阈值即方差大于1的特征
sel_features2 = selector_2.fit_transform(x)
RFE
添加一个评估器计算各特征的权重分配,递推地去掉不重要的特征,最后保留指定数量特征
from sklearn import feature_selection
from sklearn.svm import SVC
model_svc = SVC(kernel="linear")<