我按照这个例子导入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笔记本,Python版本是3.6.6。我已经更新了sklearn包,并按照这个链接重新安装了imblearn包。
有谁有解决这个问题的想法吗?或者有直接在代码中使用这个类(源代码)的方法吗?
回答:
问题出在imblearn
包的版本上。imblearn的新模块,如RUSBoostClassifier
或BalancedRandomForestClassifier
,在版本0.4.3中得到支持。可以使用!pip list
来检查imblearn
包的版本(感谢@***)。如果你使用的是旧版本,请完全删除它(重新安装imblearn对我来说实际上没有帮助)。之后按照这个说明重新安装它。这样,最新版本的imblearn将被添加到你的anaconda环境中。