Error: cannot import name ‘delayed‘ from ‘sklearn.utils.fixes‘

这篇博客讨论了在使用imblearn库中的SMOTE方法时遇到的导入错误问题。错误提示为'cannot import name 'delayed' from 'sklearn.utils.fixes'。解决方法包括更新sklearn到兼容的版本,或者直接安装'delayed'模块并重启内核。建议确保所有依赖库版本符合imblearn的要求,以避免类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:调用 from imblearn.over_sampling import SMOTE 出现报错

报错:cannot import name ‘delayed‘ from ‘sklearn.utils.fixes‘

首先:

依赖库要求:imblearn需要依赖某些Python模块(下面是最新版0.7.0的依赖要求)
python (>=3.6)
numpy (>=1.13.3)
scipy (>=0.19.1)
scikit-learn (>=0.23)
keras 2 (optional)
tensorflow (optional)
如果不想过多升级依赖库建议可以安装稍低版本:pip install imbalanced-learn==0.6.2

imblearn 0.4.0 以上才有SMOTE方法

之前安装过的:

问题解决一:sklearn 没更新,前面也提到imblearn对依赖库是有版本要求的,所以如果sklearn版本过低也会出现报错。

更新sklearn:conda update scikit-learn

如果更新后,发现还不行。。。。。。

再试试下面的方法,我是更新后还是不行,然后通过下面的操作搞定的。

问题解决二:pip install delayed

然后重启内核重新跑应该是可以解决的

再不行。。。我也没办法了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值