Google Colab中PyCaret报Estimator xgboost not available问题排查
错误产生原因
- PyCaret 2.3.10 版本对XGBoost存在严格的版本兼容约束,直接执行
pip install xgboost默认拉取的是2.0及以上的最新版XGBoost,和PyCaret 2.3.10内部的模型适配层、接口校验逻辑不匹配。PyCaret首次导入时会检测所有可用估算器,不符合版本要求的依赖会被直接从可用模型列表中剔除,最终抛出"Estimator xgboost not available"错误。 - 安装顺序不当会放大该问题:先安装PyCaret再单独安装未指定版本的XGBoost,会覆盖PyCaret安装过程中拉取的适配版依赖,且PyCaret不会在运行中二次检测依赖版本,版本不匹配的依赖不会被识别。
- 安装时使用
--use-deprecated=legacy-resolver参数会关闭跨包版本依赖校验,旧版解析器不会提示新装的XGBoost和PyCaret存在版本冲突,会直接安装不兼容的版本组合。
必要补全操作步骤
- 第一步:卸载当前环境中不兼容的XGBoost版本,执行命令:
pip uninstall -y xgboost
- 第二步:安装PyCaret 2.3.10适配的XGBoost版本,该版本最高兼容XGBoost 1.5.1,执行命令:
pip install xgboost==1.5.1
- 第三步:重启当前Python运行内核,Jupyter/Colab环境直接点击重启内核按钮,本地脚本环境关闭当前解释器后重新启动,清空PyCaret首次导入时缓存的可用模型列表,避免旧缓存导致识别失败。
- 第四步:重启后重新导入PyCaret对应的分类/回归模块,可先执行
models()命令查看可用模型清单,确认列表中存在xgboost条目后,再执行create_model('xgboost')即可正常创建模型。
内容的提问来源于stack exchange,提问作者the real deal
相关产品推荐
相关产品推荐

