python - 尝试解释 XGBoost 分类器的权重时出现 TypeError
问题描述
我正在努力在Kaggle提供的 Titanic 数据集上实现 XGBoost 。我在 ELI 5 官方文档( Jupyter Notebook 教程)的此链接上找到了包 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 不兼容的信息。
解决方案
将 ELI5 与 XGBoost 1.4.0 一起使用时,我可以重现同样的错误。
但是,对于 XGBoost 1.3.0 版和更早的版本,该错误消失了。
如果可以,请降级。
推荐阅读
- python-3.x - 如何在 Python 中使用 redshift 连接器远程运行 SQL 脚本?
- c# - 每个工作班次 C# .NET WindowsForm 客户端控件的生产摘要图表
- chatbot - 在 AIML 中如何检测像 KUKI AI 这样的用户重复词?
- android - 使用 Ktor 发送发布请求时出现内部服务器错误
- python - 列表中出现的python中的索引错误
- android - 如何从我的单元测试中删除多余的双键 (!!)?
- xamarin.forms - 如何在 Azure Notification Hub 中将 iOS 设备注册的到期日期设置为 31-12-9999 23:59:59?
- python - 超参数调优 FB Prophet 模型 - 如何在参数网格中引用 m.add_seasonality 类别
- office365 - Exchange Online 从 11 月 1 日起通过 POP3 接收重复的电子邮件
- php - 安装和卸载 Xdebug 后修复 JIT