但是报错cannot import name 'joblib' from 'sklearn.externals
时间: 2023-10-09 12:16:36 浏览: 143
这个错误是因为在新版本的 scikit-learn 中,`joblib` 库不再在 `sklearn.externals` 中,而是独立成为一个包。你可以通过安装 `joblib` 包来解决这个问题。你可以使用以下命令:
```
pip install joblib
```
或者,如果你使用的是 conda 环境,则可以使用以下命令:
```
conda install joblib
```
安装完成后,你需要在代码中将 `joblib` 的导入语句修改为:
```
from joblib import dump, load
```
这样就可以解决这个问题了。
相关问题
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 的内置缓存机制,以便更有效地使用内存。
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
```
阅读全文