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

导入imblearn.combine的SMOTEENN时出现get_max_squared_sum导入错误求助

解决SMOTEENN导入错误:cannot import name get_max_squared_sum

这个问题我之前帮几个开发者排查过,本质是scikit-learn(sklearn)和imbalanced-learn(imblearn)版本不兼容导致的——你当前Python2.7环境里的sklearn版本太旧,缺少get_max_squared_sum函数,而SMOTEENN在导入时会间接调用sklearn的sag模块,从而触发这个错误。下面是几个可行的解决方案:

方案1:给Python2.7安装兼容的sklearn版本

因为Python2.7已经停止维护,sklearn从0.23版本开始不再支持它,而get_max_squared_sum是在sklearn 0.21及以上版本才有的函数。你可以安装Python2.7支持的最后一个稳定sklearn版本:

pip install scikit-learn==0.22.2.post1

方案2:匹配imblearn与sklearn的版本

如果升级sklearn后还是报错,可能是imblearn版本太高,不兼容Python2.7的sklearn。可以安装适配Python2.7的imblearn版本:

pip install imbalanced-learn==0.4.3

这个版本的imblearn和sklearn 0.22.x完全兼容,能解决导入问题。

方案3:迁移到Python3环境(强烈推荐)

Python2.7已经完全停止维护,包括sklearn、imblearn在内的绝大多数主流库都不再更新支持它,后续还会遇到更多类似的版本兼容问题。建议你迁移到Python3.6及以上版本,然后直接安装最新版的依赖:

pip install scikit-learn imbalanced-learn

这样从根本上避免这类版本冲突问题。

补充说明:错误日志里的路径/usr/lib64/python2.7/site-packages/sklearn/...明确显示你在用Python2.7环境,这是问题的核心诱因之一,优先考虑方案3能一劳永逸解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:26:43