ModuleNotFoundError: No module named ‘sklearn.neighbors._base‘解决过程记录

导入代码就报错:
import pandas as pd
from imblearn.over_sampling import SMOTE
from sklearn.model_selection import train_test_split

报错如下:
Traceback (most recent call last):
File “”, line 1, in
File “C:\Users\Administrator.conda\envs\py36\lib\site-packages\ imblearn _init_.py”, line 37, in
from . import combine
File “C:\Users\Administrator.conda\envs\py36\lib\site-packages\imblearn\combine_init_.py”, line 5, in
from .smote_enn import SMOTEENN
File “C:\Users\Administrator.conda\envs\py36\lib\site-packages\imblearn\combine_smote_enn.py”, line 10, in
from …base import BaseSampler
File “C:\Users\Administrator.conda\envs\py36\lib\site-packages\imblearn\base.py”, line 15, in
from .utils import check_sampling_strategy, check_target_type
File "C:\Users\Administrator.conda\envs\py36\lib\site-packages\imblearn\utils_init
.py", line 7, in
from ._validation import check_neighbors_object
File “C:\Users\Administrator.conda\envs\py36\lib\site-packages\imblearn\utils_validation.py”, line 15, in
from sklearn.neighbors._baseimport KNeighborsMixin
ModuleNotFoundError: No module named ‘sklearn.neighbors._base’

由上面标记黄色字体,可以看出,错误是从imblearn模块开始, No module named 'sklearn.neighbors._base’说明sklearn模块版本过低。

解决办法一:
升级一下sklearn,使用pip install --upgrade scikit-learn或conda update scikit-learn。
要注意的是: conda update scikit-learn会一同更新 scikit-learn的依赖库。

解决办法二:
因为错误是从imblearn发出,说明其需要调用新版本scikit-learn的新函数。使用conda list 一看在这里插入图片描述
果然最新版0.7.0
所以可以降低 imblearn的版本,先卸载 imblearn,使用pip uninstall imbalanced-learn,再用:pip install imbalanced-learn==0.2.0安装指定的0.2.0版本,如果不知道有哪些版本可以故意将版本号写大一点
pip install imbalanced-learn= =99.99.8,这样pip就会列举所有的可安装版本
在这里插入图片描述
这里我想安装0.1.0版本,但是没有这个版本,pip就会列举出来可用的版本。

事情起因:
因为数据不平衡需要用到 imblearn库
本想找一个适合环境的版本,因为环境比较老了,没想到吧
在这里插入图片描述
anaconda search -t conda imblean-learn竟然找不到这玩意
在这里插入图片描述
anaconda search -t conda imblean竟然也找不到这玩意

就直接:pip install imblean-learn了
但是,但是,但是
在这里插入图片描述
pip为了装最新版本的imblean-learn把我的scikit-learn的0.18.2版本给卸载了,装成最版0.23.2了
在这里插入图片描述
结果,代码由出现了各种因为scikit-learn版本的报错,
于是。。。
我想到了把scikit-learn卸载,再重新安装,
在这里插入图片描述
虽然一片红色,但显示安装成功,本以为最终成功了,没想到,遇到前面的导入报错,最后降版本解决。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值