首页 > 解决方案 > 功能选择:尝试查看保留了哪些列时出现 AttributeError

问题描述

尝试将特征选择应用于我的分类模型时出现错误。我认为这个错误很简单,很容易解决,但我不确定如何解决。

这是我的代码:

X = df[['S_LENGTH', 'S_WIDTH', 'P_LENGTH', 'P_WIDTH']].values
y = df['SPECIES'].values

feature_select = SelectKBest(f_classif, k=20).fit(X, y)

但是当我尝试执行此操作以查看保留的功能时...

feature_select = X.columns[selection.get_support()]
print(features)

...我收到此错误:

AttributeError: 'numpy.ndarray' object has no attribute 'columns'

非常感谢有关如何解决此错误的任何帮助。

谢谢!

标签: pythonmachine-learningscikit-learnfeature-selectionsklearn-pandas

解决方案


定义时,X您从 pandas DataFrame 中获取值df。值是 a numpy.ndarray,因此没有 property columns

要修复,您需要更新您的线路feature_select = X.columns[selection.get_support()]

它应该是features = df.columns[feature_select.get_support()].


推荐阅读