我正在使用 SMOTE 对我的数据(多类)进行重采样。
sm = SMOTE(random_state=1)
X_res, Y_res = sm.fit_resample(X_train, Y_train)
但是,我收到此属性错误。谁能帮忙?
原文由 HP_17 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 SMOTE 对我的数据(多类)进行重采样。
sm = SMOTE(random_state=1)
X_res, Y_res = sm.fit_resample(X_train, Y_train)
但是,我收到此属性错误。谁能帮忙?
原文由 HP_17 发布,翻译遵循 CC BY-SA 4.0 许可协议
第 1 步- 打开你的 jupyter notebook
第 2 步- 输入 pip install –upgrade scikit-learn
第 3 步- 重新启动内核
按原样按照所有步骤完成!(已升级)
原文由 Darshika Verma 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答989 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
简答
您需要将
scikit-learn
升级到版本 0.23.1。长答案
imbalanced-learn
的最新版本 0.7.0 似乎对scikit-learn
v0.23.1 具有未记录的依赖性。它会给你AttributeError: 'SMOTE' object has no attribute '_validate_data'
如果你的scikit-learn
是0.22或更低。如果您使用的是
Anaconda
,安装scikit-learn
版本 0.23.1 可能会很棘手。conda update scikit-learn
可能不会更新scikit-learn
版本0.23或更高版本,因为最新的scikit-learn
版本Conda.22此时为0。如果您尝试使用conda install scikit-learn=0.23.1
或pip install scikit-learn==0.23.1
安装它,您将进行大量的兼容性检查并且安装可能不会很快。因此,在 Anaconda 中安装scikit-learn
版本 0.23.1 的最简单方法是创建一个包含最少包的新虚拟环境,以便减少或不存在冲突问题。然后,在新的虚拟环境中安装scikit-learn
0.23.1 版,然后安装 0.7.0 版imbalanced-learn
。最后,您需要在新的虚拟环境中重新安装 IDE 才能使用这些包。
但是一旦
scikit-learn
版本0.23.1在Conda中可用并且没有兼容性问题,你可以直接在基础环境中安装它。