【问题标题】:Problem with importing RUSBoostClassifier from imblearn从 imblearn 导入 RUSBoostClassifier 的问题
【发布时间】:2019-04-16 07:51:28
【问题描述】:

我在 this example 之后导入 RUSBoostClassifier 时遇到了困难

from imblearn.ensemble import RUSBoostClassifier

我收到以下错误:

ImportError                               Traceback (most recent call last)
<ipython-input-12-d0ff5157a81a> in <module>
----> 1 from imblearn.ensemble import RUSBoostClassifier
  2 from sklearn.datasets import make_classification
  3 
  4 X, y = make_classification(n_samples=1000, n_classes=3,
  5                            n_informative=4, weights=[0.2, 0.3, 0.5],

ImportError: cannot import name 'RUSBoostClassifier'

我不明白为什么!我可以轻松使用 imblearn 中的其他模块,例如

from imblearn.under_sampling import RandomUnderSampler

from imblearn.over_sampling import SMOTE 

我用的是 Jupyter notebook,Python 版本是 3.6.6。我已经更新了 sklearn 包并在 link 之后重新安装了 imblearn 包。

有没有人想办法解决这个问题?或者有想法在代码中直接使用这个类(源码)?

【问题讨论】:

  • 请发布完整的错误跟踪。你确定你的 Jupyter notebook 运行在安装了imblearn 的同一个 anaconda 环境中吗?
  • @desertnaut 感谢您的回复!关于您的问题:我只有一个 anaconda 环境。出于这个原因,我想我在安装了 imblearn 的同一个 anaconda 环境中运行 Jupyter Notebook。关于完整的错误消息,我编辑了帖子。你可以在那里看到它。
  • 还是不太了解环境;你能在 Jupyter 中运行!pip list 命令,看看imblearn 是否确实包含在已安装的包中?
  • 感谢您的提示。根据您的提示,我看到 imblearn 的版本是 0.3.0(尽管我已经重新安装了 imblearn!)。最新版本的 imblearn(版本 0.4.3)支持新模块。这次我完全删除了 imblearn 包并通过 Anaconda 再次安装。安装后,我可以成功使用 imblearn 中的所有模块。
  • 酷!我建议您将此作为答案发布,以帮助将来可能面临类似情况的其他人...

标签: python machine-learning anaconda python-import imblearn


【解决方案1】:

问题出在imblearn 包的版本上。 0.4.3 版支持 imblearn 的新模块,例如 RUSBoostClassifierBalancedRandomForestClassifierimblearn 包的版本可以通过!pip list 来检查(感谢@desertnaut)。如果您使用的是旧版本,请将其完全删除(重新安装 imblearn 实际上对我没有帮助)。之后按照this instruction 安装它。在这种情况下,最新版本的 imblearn 将添加到您的 anaconda 环境中。

【讨论】:

    猜你喜欢
    • 2020-10-28
    • 2019-03-25
    • 2017-02-21
    • 2021-01-12
    • 2019-03-23
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多