首页 > 解决方案 > 在 Scikit Learn 中运行 SelectKBest 后,“numpy.ndarray”对象没有属性“get_support”错误消息

问题描述

我遇到了一个与这个旧问题相关的问题:在 Scikit Learn 中运行 SelectKBest 后获取功能名称的最简单方法

尝试使用“get_support()”获取所选功能时,我收到错误消息:

numpy.ndarray' 对象没有属性 'get_support

非常感谢您的帮助!

杰夫

标签: scikit-learnfeature-extraction

解决方案


如果不进行拟合,您将无法获得支持。您需要进行拟合,以便选择器可以分析数据,然后调用get_support()选择器,而不是fit_transform()

目前你正在做类似的事情:

selector = SelectKBest()

#fit_transform returns the data after selecting the best features
new_data = selector.fit_transform(old_data, labels)

#so you are trying to access get_support() on new data, which is not possible
new_data.get_support()

调用fit()or后fit_transform(),执行以下操作:

# get_support is a method of SelectKBest class
selector.get_support()

推荐阅读