我遇到了一个与这个旧问题相关的问题:The easiest way for getting feature names after running SelectKBest in Scikit Learn
尝试使用“get_support()”获取所选功能时,收到错误消息:
numpy.ndarray'对象没有属性'get_support
非常感谢您的帮助!
杰夫
答案 0 :(得分:1)
如果不做适合你就无法获得支持。您需要进行拟合,以便选择器可以分析数据,然后在选择器上调用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()
或fit_transform()
后,请执行以下操作:
# get_support is a method of SelectKBest class
selector.get_support()
答案 1 :(得分:-1)
我想我发现了我收到错误的原因。我使用" get_support()"在fit()或fit_transform()之后的结果上,这导致了错误消息。
我应该使用" get_support()"在选择器本身(但仍然需要使用选择器首先执行fit()或fit_transform())。
谢谢!
杰夫