Python 中特征选择输出的列名 (Scikit Learn)

Column Names on Feature Selection Output in Python (Scikit Learn)

免责声明:我是 Python 的新手。

我在 Python 2.7 scikit 学习中对我的数据集进行了特征选择的预处理步骤。为此,我将列数从 222 减少到 77。

我的问题是特征选择的输出是一个 numpy 数组,它似乎去除了列名。我需要知道保留了哪些列,但如果看不到列名,我不确定如何获取此信息。 这是我的特征选择代码,其中 returns 一个矩阵:

 clf = ExtraTreesClassifier()
 clf = clf.fit(X, y)
 clf.feature_importances_  
 model = SelectFromModel(clf, prefit=True)
 X_new = model.transform(X)

感谢您的帮助!

使用model.get_support().

get_support(indices=False)

Get a mask, or integer index, of the features selected

假设您的 X 中共有 5 个特征,并且从中选择了 3 个特征:第一、第二和第五。

然后 model.get_support() 将 return :

[True, True, False, False, True]

如果你使用model.get_support(indices=True),那么你将得到:

[0,1,4]

希望这能解决您的问题。