ModuleNotFoundError: No module named 'sklearn.utils._joblib'

ModuleNotFoundError: No module named 'sklearn.utils._joblib'

我在 Anaconda Jupyter 笔记本平台上使用 python 3.6。我的电脑使用 win 8.1 作为 OS。

我尝试使用以下行从 sklearn 导入 PCA:

import sklearn
from sklearn import decomposition 
from sklearn.decomposition import PCA 

第三行returns一个模块错误:ModuleNotFoundError: No module named 'sklearn.utils._joblib'

奇怪的是,我在网上找不到关于这个错误的任何记录!我将不胜感激任何帮助。我在下面复制了完整的错误消息:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-375-2e95ea83a366> in <module>()
      1 import sklearn
----> 2 from sklearn import decomposition
      3 from sklearn.decomposition import PCA
      4 # Make an instance of the Model
      5 pca = PCA(.95)

E:\Anaconda3\lib\site-packages\sklearn\decomposition\__init__.py in <module>()
      9 from .incremental_pca import IncrementalPCA
     10 from .kernel_pca import KernelPCA
---> 11 from .sparse_pca import SparsePCA, MiniBatchSparsePCA
     12 from .truncated_svd import TruncatedSVD
     13 from .fastica_ import FastICA, fastica

E:\Anaconda3\lib\site-packages\sklearn\decomposition\sparse_pca.py in <module>()
     11 from ..linear_model import ridge_regression
     12 from ..base import BaseEstimator, TransformerMixin
---> 13 from .dict_learning import dict_learning, dict_learning_online
     14 
     15 

E:\Anaconda3\lib\site-packages\sklearn\decomposition\dict_learning.py in <module>()
     15 
     16 from ..base import BaseEstimator, TransformerMixin
---> 17 from ..utils._joblib import Parallel, delayed, effective_n_jobs
     18 from ..externals.six.moves import zip
     19 from ..utils import (check_array, check_random_state, gen_even_slices,

ModuleNotFoundError: No module named 'sklearn.utils._joblib'

我有类似的问题,但描述是“没有名为 'sklearn.externals.joblib.parallel' 的模块”。我反复安装和卸载了sklearn和joblib,但没有用。最后我在源码包代码中注释解决了这个问题

This comment on a PR 在 2019 年 5 月提到他们想放弃它。

截至 2019 年 6 月,sklearn.utils._joblib is no longer a thing

分析:您的环境中有旧版本。也许 pip install -r requirements.txt 得到了你,覆盖了工作版本,或者其他东西。

建议:创建一个新的 conda 环境,在该环境中重新安装 sklearn 和 joblib(通过 conda install scikit-learn joblib)并继续。

直接安装并导入joblib:

!pip install joblib
import joblib