【问题标题】:No module named 'sklearn.neighbors._base'没有名为“sklearn.neighbors._base”的模块
【发布时间】:2020-05-25 11:47:13
【问题描述】:

我最近使用

在 jupyter 中安装了 imblearn 包
!pip show imbalanced-learn

但是我不能导入这个包。

from tensorflow.keras import backend
from imblearn.over_sampling import SMOTE

我收到以下错误

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-20-f19c5a0e54af> in <module>
      1 # from sklearn.utils import resample
      2 from tensorflow.keras import backend
----> 3 from imblearn.over_sampling import SMOTE
      4 
      5 

~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/__init__.py in <module>
     32     Module which allowing to create pipeline with scikit-learn estimators.
     33 """
---> 34 from . import combine
     35 from . import ensemble
     36 from . import exceptions

~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/combine/__init__.py in <module>
      3 """
      4 
----> 5 from ._smote_enn import SMOTEENN
      6 from ._smote_tomek import SMOTETomek
      7 

~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/combine/_smote_enn.py in <module>
      8 from sklearn.utils import check_X_y
      9 
---> 10 from ..base import BaseSampler
     11 from ..over_sampling import SMOTE
     12 from ..over_sampling.base import BaseOverSampler

~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/base.py in <module>
     14 from sklearn.utils.multiclass import check_classification_targets
     15 
---> 16 from .utils import check_sampling_strategy, check_target_type
     17 
     18 

~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/utils/__init__.py in <module>
      5 from ._docstring import Substitution
      6 
----> 7 from ._validation import check_neighbors_object
      8 from ._validation import check_target_type
      9 from ._validation import check_sampling_strategy

~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/utils/_validation.py in <module>
     11 
     12 from sklearn.base import clone
---> 13 from sklearn.neighbors._base import KNeighborsMixin
     14 from sklearn.neighbors import NearestNeighbors
     15 from sklearn.utils.multiclass import type_of_target

ModuleNotFoundError: No module named 'sklearn.neighbors._base'

环境中的其他包

numpy==1.16.2
pandas==0.24.2
paramiko==2.1.1
matplotlib==2.2.4
scikit-learn==0.22.1
Keras==2.2.4
tensorflow==1.12.0
tensorboard==1.12.0
tensorflow-hub==0.4.0
xlrd==1.2.0
flask==1.0.2
wtforms==2.2.1
bs4==0.0.1
gensim==3.8.1
spacy==2.2.3
nltk==3.4.5 
wordcloud==1.6.0
pymongo==3.10.1    
imbalanced-learn==0.6.1

我检查了 sklearn 包,它包含基本模块,而不是 _base。但是修改它可能不是正确的解决方案。解决此问题的任何其他解决方案。

【问题讨论】:

标签: python scikit-learn imbalanced-data imblearn


【解决方案1】:

我在尝试从 imblearn.over_sampling 导入 SMOTE 时遇到了类似的问题,而我的 scikit-learn 版本是最新的 (0.24.1)。对我有用的是:

首先我使用

将我的 scikit learn 版本降级到 0.22.1
 pip install scikit-learn==0.22.1

接下来,我更新了不平衡学习包:

pip install -U imbalanced-learn

卸载 scikit-learn-0.22.1,安装更新版本 (scikit-learn-0.24.1),并更新不平衡学习包。此后一切正常。

【讨论】:

    【解决方案2】:

    如果在特定环境中,则必须将_base 文件或base 文件从包文件复制到环境中。

    我在我的 tensorflow 环境中遇到了同样的问题。我刚刚将 _basebase 文件复制到了我的 tensorflow 环境中并且工作了。

    【讨论】:

      【解决方案3】:

      如果您想坚持使用最新版本的 scikit-learn,请在安装 imblearn 之前将以下代码添加到您的脚本或在您的环境中执行以下代码

      import sklearn.neighbors._base
      sys.modules['sklearn.neighbors.base'] = sklearn.neighbors._base
      

      这必须在之后

      pip install sklearn
      

      或在笔记本环境中:

      !pip install sklearn
      

      这个问题源于某些模块在较新的 scikit-learn 版本中使用下划线命名

      【讨论】:

      • 为我工作,我在导入 missingpy 时收到错误 No module named 'sklearn.neighbors.base'(在 sklearn 版本 0.24.1 中)。
      【解决方案4】:

      以前的 sklearn.neighbors.base 已重命名为 sklearn.neighbors._base in version 0.22.1
      您可能拥有比这更旧的 scikit-learn 版本。 安装latest release 即可解决问题:

      pip install -U scikit-learn

      pip install scikit-learn==0.22.1

      【讨论】:

        猜你喜欢
        • 2020-04-03
        • 2016-11-21
        • 1970-01-01
        • 2017-08-18
        • 2019-03-28
        • 2017-12-30
        • 2018-01-06
        • 2018-11-11
        • 2015-04-10
        相关资源
        最近更新 更多