【问题标题】:"numpy.ndarray' object has no attribute 'get_support" error message after running SelectKBest in Scikit Learn在 Scikit Learn 中运行 SelectKBest 后,“numpy.ndarray”对象没有属性“get_support”错误消息
【发布时间】:2018-10-31 15:30:41
【问题描述】:

我遇到了一个与这个旧问题相关的问题:The easiest way for getting feature names after running SelectKBest in Scikit Learn

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

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

非常感谢您的帮助!

杰夫

【问题讨论】:

    标签: scikit-learn feature-extraction


    【解决方案1】:

    我想我找到了错误的原因。我在 fit() 或 fit_transform() 之后的结果上使用了“get_support()”,这导致了错误消息。

    我应该在选择器本身上使用“get_support()”(但仍然需要先使用选择器来执行 fit() 或 fit_transform())。

    谢谢!

    杰夫

    【讨论】:

      【解决方案2】:

      不进行拟合就无法获得支持。您需要进行拟合,以便选择器可以分析数据,然后在选择器上调用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()
      

      【讨论】:

      • 感谢您的详细解释。你说的正是发生的事情。我自己的回答肯定没有你说的那么清楚。谢谢!
      猜你喜欢
      • 2019-06-18
      • 2020-05-15
      • 2021-12-10
      • 1970-01-01
      • 2018-05-21
      • 2017-11-24
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多