cannot import name 'joblib' from 'sklearn.externals' (C:\Users\32184\miniconda3\Lib\site-packages\sklearn\externals\__init__.py)
时间: 2023-11-30 13:01:59 浏览: 98
这个错误通常是由于scikit-learn版本不兼容导致的。在较新的版本中,joblib已经被移动到了sklearn.utils中,因此在导入时会出现错误。解决这个问题的方法是安装一个旧版本的scikit-learn,或者更新你的代码以使用新版本的scikit-learn。以下是两种解决方法:
1.安装旧版本的scikit-learn
```shell
pip install scikit-learn==0.20.3
```
2.更新代码以使用新版本的scikit-learn
```python
from sklearn.utils import joblib
```
相关问题
ImportError Traceback (most recent call last) Cell In[1], line 3 1 import xgboost as xgb 2 from sklearn.model_selection import train_test_split ----> 3 from sklearn.externals import joblib 4 from sklearn.model_selection import ParameterGrid 5 from ultis import * ImportError: cannot import name 'joblib' from 'sklearn.externals' (e:\python\Lib\site-packages\sklearn\externals\__init__.py)
这个错误是因为你使用的Sklearn版本不同于你的代码中使用的版本。在Sklearn 0.23版本中,joblib已经从sklearn.externals中移动到了sklearn.utils中。所以你需要更新sklearn版本或者改变你的代码中的导入语句。
你可以通过以下方式导入joblib:
```python
from sklearn.utils import joblib
```
或者升级sklearn版本:
```python
!pip install --upgrade scikit-learn
```
from sklearn.externals import joblib ImportError: cannot import name 'joblib' from 'sklearn.externals' (/home/aaa/anaconda3/lib/python3.9/site-packages/sklearn/externals/__init__.py)
这个错误是因为在最新版本的 scikit-learn 中,`joblib` 被移动到了一个单独的包中,你需要安装 `joblib` 包才能使用它。你可以通过运行以下命令来安装它:
```
pip install joblib
```
如果你使用的是 scikit-learn 0.23 版本及以上的版本,可以直接使用以下代码来导入 `joblib`:
```
from sklearn import set_config
set_config(working_memory=True)
```
这将启用 scikit-learn 的内置缓存机制,以便更有效地使用内存。
阅读全文