'super'对象没有属性'__sklearn_tags__'

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

我在使用 Scikit-learn 的 RandomizedSearchCV 拟合 XGBRegressor 时遇到了 AttributeError。错误消息指出: “超级”对象没有属性“sklearn_tags”。

当我在 RandomizedSearchCV 对象上调用 .fit() 方法时,会发生这种情况。我怀疑这可能与 Scikit-learn 和 XGBoost 或 Python 版本之间的兼容性问题有关。我使用的是 Python 3.12,Scikit-learn 和 XGBoost 都安装了最新版本。

我尝试使用 Scikit-learn 中的 RandomizedSearchCV 来调整 XGBRegressor 的超参数。我希望模型能够毫无问题地拟合训练数据,并在交叉验证后提供最佳参数。

相反,当我在 RandomizedSearchCV 对象上调用 .fit() 方法时,它引发了错误: AttributeError:“超级”对象没有属性“sklearn_tags”。

我还检查了兼容性问题,确保库是最新的,并重新安装了 Scikit-learn 和 XGBoost,但错误仍然存在。

python machine-learning scikit-learn xgboost
1个回答
0
投票

Scikit-learn 1.6 版本围绕其“标签”修改了 API,这就是导致此错误的原因。 XGBoost 在PR11021中进行了必要的更改,但目前尚未发布版本。 您可以保留您的 sklearn 版本 <1.6, or build XGBoost directly from github (or upgrade XGBoost, after a new version is released).

© www.soinside.com 2019 - 2024. All rights reserved.