在运行SelectKBest之后选择了某些功能,并将结果作为数组返回,所以我不知道它们是哪些功能,因为我的训练集具有数千个功能。 我想在我的测试集中找到并挑选出这些功能,然后删除其余的功能。有什么方便的方法吗?谢谢!
代码如下:
from sklearn.feature_selection import SelectKBest, f_regression
X_opt=SelectKBest(f_regression,k=2000)
X_new=X_opt.fit_transform(df_train_X_mm, train_y)
X_new`
结果是:
array([[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
[0. , 0. , 0.00688335, ..., 0. , 0. ,
0. ],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
...,
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
[0. , 0. , 0.06257587, ..., 0. , 0. ,
0. ]])
答案 0 :(得分:0)
您要寻找的是get_support
的{{1}}方法。它返回一个布尔数组,表示是否选择了某个给定功能(feature_selection.SelectKBest
)(True
)。