ModuleNotFoundError:没有名为“sklearn.ensemble.gradient_boosting”的模块

问题描述 投票:0回答:2

当我尝试运行以下命令时:

# load pretrained model as clf
clf = joblib.load("./model_data/boston_housing_prediction.joblib")

调用 joblib.load 后收到此错误:

ModuleNotFoundError: No module named 'sklearn.ensemble.gradient_boosting' 

我使用的进口:

joblib==1.3.1
scikit-learn==1.3.0

有什么想法吗?

python scikit-learn joblib
2个回答
0
投票

发生这种情况是因为您有较新版本的

sklearn
。现已导入
sklearn.ensemble.GradientBoostingClassifier

在之前的版本中,导入确实是

sklearn.ensemble.gradient_boosting


您需要降级您的版本。例如v0.14。如果您想强制降级,请使用此功能:

pip install --user -U scikit-learn==0.14

-1
投票

此错误消息可能是由于您的 Python 环境中缺少名为

sklearn
的机器学习库,或者您的
sklearn
版本太低,缺少
gradient_boosting
模块中的
ensemble
子模块。您需要先安装或更新
sklearn
库,然后再次尝试运行您的代码。

首次更新或安装

scikit-learn
:

pip install --upgrade scikit-learn

然后查看安装的版本:

import sklearn
print(sklearn.__version__)

并尝试再次加载模型:

import joblib
clf = joblib.load("./model_data/boston_housing_prediction.joblib")
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.