我如何知道SelectKBest选择了哪些功能?

时间:2018-06-20 07:25:43

标签: python machine-learning scikit-learn feature-extraction feature-selection

在运行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.        ]])

1 个答案:

答案 0 :(得分:0)

您要寻找的是get_support的{​​{1}}方法。它返回一个布尔数组,表示是否选择了某个给定功能(feature_selection.SelectKBest)(True)。