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

导入SMOTE触发AttributeError:sklearn模块无DistanceMetric32属性

解决导入SMOTE时的AttributeError问题

错误原因

该错误由scikit-learn(sklearn)与imbalanced-learn(imblearn)版本不兼容引发:新版本scikit-learn已移除/重命名DistanceMetric32属性,但当前安装的imblearn版本仍在调用这个已不存在的属性。

修复步骤

  • 方案一:升级imbalanced-learn到兼容版本
    在终端执行命令:

    pip install --upgrade imbalanced-learn
    

    升级后imblearn会适配最新scikit-learn的API,解决属性缺失问题。

  • 方案二:降级scikit-learn到与当前imblearn兼容的版本
    若不想升级imblearn,可查看当前imblearn支持的scikit-learn版本范围,执行降级命令,示例:

    pip install scikit-learn==1.2.2
    

    (版本号需根据imblearn兼容要求调整,确保两者版本匹配)

  • 方案三:创建干净虚拟环境重新安装依赖
    规避现有环境的依赖冲突,以conda为例:

    conda create -n ml_env python=3.10
    conda activate ml_env
    pip install scikit-learn imbalanced-learn pandas numpy
    

验证修复

安装完成后重新运行导入语句:

from imblearn.over_sampling import SMOTE

无报错则说明问题已解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:20:37