根本错误是因为sklearn和其他的包(比如XGBoost)不兼容
其他的一些解决方案(比如https://stackoverflow.com/questions/79290968/super-object-has-no-attribute-sklearn-tags以及 https://blog.csdn.net/weixin_46803857/article/details/145213199 )提倡把sklearn降级到1.5.2方便解决问题,但有时并不管用
另一种有效方法是把XGBoost以及sklearn都升级到最新版就可以解决
一个比较兼容的版本组合:
python3.9.7下:XGBoost == 2.1.4以及scikit-learn == 1.6.1
bash
pip install scikit-learn==1.6.1
pip install xgboost==2.1.4
另外也有其他兼容版本(python 3.10下):
注意并不是所有python版本都有这些包(比如python3.9.7就没有上述版本的两个包)