报错代码及提示如下图:
查阅了各类问答和博客没有找到具体的报错解决方法,没有找到同样的问题博客,意识到可能是安装xgboost版本的问题。查看了安装的版本对应的版本说明,发现是安装的新版本2.0.3已将 ntree_limit 数参删除。
查阅版本信息Python API Reference — xgboost 2.0.3 documentation,如下:
可以看到ntree_limit已被删除。
ntree_limit (默认: 0),限制用于预测的树的数量。若设为 0(默认),则使用所有已训练的树进行预测。非零值表示只使用前 ntree_limit 棵树进行预测。
iteration_range (默认: (0, num_boosted_rounds),限制用于预测的树的范围。(start, end) 表示从第 start 棵树开始,直到第 end - 1 棵树结束(包含 start,不包含 end)。
用iteration_range=(0, result.best_iteration)代替ntree_limit=result.best_iteration,问题解决。