如何解决LightGBM 绘图树与特征重要性不匹配
我正在从 lightgbm 绘制模型并试图查看绘图树。当我使用 plot.tree 时它工作......但是,树的输出与特征重要性不匹配,也不匹配我在参数优化中选择的叶子数。
例如,特征 A 是我的特征重要性图中最重要的特征,但该特征并没有在我的实际决策树图中显示为决策节点。另外,我的参数之一是 22 片叶子,但树图有 24 片叶子。
我在使用 python 的 databricks 环境中执行此操作。
知道发生了什么吗?
我不能发布代码,抱歉。任何对正在发生的事情有大致了解的人都会有所帮助。
解决方法
首先,Ligthgbm 是 Boosting ensemble 方法,这意味着您串联创建多个树。
那么,你在绘制哪棵树?您有几棵树,仅探索一棵树并不能代表模型的工作原理。当然,如果你检查几棵树,你的特征 A 应该会出现。
关于不同的num_leaves
,我没有明确的答案。这个不成立。我应该有一些代码和输出来分析它(但我在你的评论中看到你不能提供它,别担心)。理论上,如果你指定了这个值,你不应该有任何超过 22 个叶子的树......无论如何,你可以尝试使用另一个超参数:max_depth
,它非常相似,事件更好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。