当我尝试运行以下命令时:
# 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
有什么想法吗?
发生这种情况是因为您有较新版本的
sklearn
。现已导入sklearn.ensemble.GradientBoostingClassifier
在之前的版本中,导入确实是
sklearn.ensemble.gradient_boosting
。
您需要降级您的版本。例如v0.14。如果您想强制降级,请使用此功能:
pip install --user -U scikit-learn==0.14
此错误消息可能是由于您的 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")