ModuleNotFoundError:没有名为“ sklearn.utils._joblib”的模块

时间:2019-03-03 05:08:23

标签: python scikit-learn pca joblib

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

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

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

第三行返回模块错误: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'

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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)并继续前进。

答案 2 :(得分:0)

直接安装并导入joblib:

!pip install joblib
import joblib