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)
感谢您的帮助!
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]
希望这能解决您的问题。
免责声明:我是 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)
感谢您的帮助!
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]
希望这能解决您的问题。