问题描述
我正致力于在 kaggle 提供的 Titanic 数据集上实施 XGBoost。我在 ELI 5 的官方文档 Link to jupyter notebook tutorial 上的这个链接上找到了包 ELI5 和使用 XGBoost 在泰坦尼克号数据集上实现这个包的教程。在笔记本的第三部分,我尝试将 show_weights 函数应用于我的分类器,但在运行这些代码行后出现以下错误。
[1]from eli5 import show_weights,explain_weights
[2]show_weights(clf,vec=vec)
Out[2]: TypeError: 'nonetype' object is not iterable
显然它没有解释在第 2 节中创建的 clf 对象。在任何一个包的文档中都没有关于 ELI5 包与 XGBoost 不兼容的信息。
解决方法
在 XGBoost 1.4.0 中使用 ELI5 时,我可以重现同样的错误。
但是,使用 XGBoost 1.3.0 和更早版本时,错误消失了。
如果可以,请降级。