You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入SMOTE报错:无法从sklearn.utils.metaestimators导入available_if求助

问题诊断与解决方案

错误根因

你安装的是最新版imbalanced-learn,该版本最低要求依赖scikit-learn >= 1.0。你当前环境的sklearn版本为0.24.1,缺少1.0版本才新增的sklearn.utils.metaestimators.available_if接口,因此触发导入报错。

解决方案

方案1:安装适配旧版sklearn的imbalanced-learn(推荐,操作成本最低)

imbalanced-learn 0.8.1版本完美适配scikit-learn 0.24,在Jupyter中执行以下命令即可:

!pip install imbalanced-learn==0.8.1

安装完成后重启Jupyter内核,重新执行from imblearn.over_sampling import SMOTE即可正常导入。

方案2:升级scikit-learn到兼容版本

如果需要使用新版imbalanced-learn的新增功能,按以下步骤操作解决升级OSError:

  • 关闭所有正在运行的Python进程、Jupyter服务、Anaconda相关程序,避免文件被占用导致升级失败
  • 以管理员权限打开Anaconda Prompt,执行升级命令:
    pip install -U scikit-learn>=1.0
    
  • 升级完成后确认imbalanced-learn为最新版本,重启Jupyter内核后即可正常使用。

内容的提问来源于stack exchange,提问作者Piyush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:36:05