python - 功能选择:尝试查看保留了哪些列时出现 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'
非常感谢有关如何解决此错误的任何帮助。
谢谢!
解决方案
定义时,X
您从 pandas DataFrame 中获取值df
。值是 a numpy.ndarray
,因此没有 property columns
。
要修复,您需要更新您的线路feature_select = X.columns[selection.get_support()]
。
它应该是features = df.columns[feature_select.get_support()]
.
推荐阅读
- python-3.x - 如何避免在activex autocad api上的SendCommand期间保存提示
- c - Cppcheck 在每次扫描时返回不同的结果
- json - 使用 PowerShell 嵌套 JSON
- php - 如何使用codeigniter调用具有in和out参数的oracle存储过程?
- javascript - 即使在使用 ng-selected 后也获得空白下拉值
- python - 如何在 django 中显示包含列表作为值的字典中的值
- javascript - 保存动态加载的网页
- bootstrap-4 - 刷新复选框后应取消选中
- apache-nifi - NiFi:使用 ListFile/GetFile 处理器时如何存储 maxTimestamp?
- python - 如何在 python 中更新字典中的值?