Machine learning 进行要素选择时跟踪要素名称

Machine learning 进行要素选择时跟踪要素名称,machine-learning,scikit-learn,feature-selection,Machine Learning,Scikit Learn,Feature Selection,使用sklearn的功能进行特征选择时,是否有方法跟踪实际特征名称而不是默认的“f1”、“f2”等。。。?我有大量的功能,所以无法手动跟踪。显然,我可以编写代码来实现这一点,但我想知道是否有一些简单的选项可以设置。如果您有一个pandas数据框,您可以返回函数选择的列的名称,您只需要使用方法 这里有一个官方修改的快速示例 当你打印时,我想你是想做打印(列[col\u index])这能回答你的问题吗? import pandas as pd from sklearn.feature_select

使用sklearn的功能进行特征选择时,是否有方法跟踪实际特征名称而不是默认的“f1”、“f2”等。。。?我有大量的功能,所以无法手动跟踪。显然,我可以编写代码来实现这一点,但我想知道是否有一些简单的选项可以设置。

如果您有一个pandas数据框,您可以返回函数选择的列的名称,您只需要使用方法

这里有一个官方修改的快速示例


当你打印时,我想你是想做
打印(列[col\u index])
这能回答你的问题吗?
import pandas as pd
from sklearn.feature_selection import SelectFromModel
from sklearn.linear_model import LogisticRegression
X = [[ 0.87, -1.34,  0.31, 0],
     [-2.79, -0.02, -0.85, 1],
     [-1.34, -0.48, -2.55, 0],
     [ 1.92,  1.48,  0.65, 1]]

df = pd.DataFrame(X, columns=['col1', 'col2', 'col3', 'label'])
train_x = df.loc[:, ['col1',  'col2', 'col3']]
y = df.label
selector = SelectFromModel(estimator=LogisticRegression()).fit(train_x, y)

col_index = selector.get_support()
print(train_x.columns[col_index])
# output print --> Index(['col2'], dtype='object')