LightGBM 的特征重要性

Posted

技术标签:

【中文标题】LightGBM 的特征重要性【英文标题】:Feature importance with LightGBM 【发布时间】:2021-02-03 22:02:28 【问题描述】:

我使用多种算法训练了一个模型,包括来自 skicit-learn 和 LightGBM 的随机森林。这些模型在准确性和其他统计数据方面的表现相似。

问题在于这两种算法在特征重要性方面的行为不一致。我使用了默认参数,并且我知道它们使用不同的方法来计算特征重要性,但我认为高度相关的特征应该始终对模型的预测产生最大的影响。随机森林对我来说更有意义,因为高度相关的特征出现在顶部,而 LightGBM 并非如此。

有没有办法解释这种行为?LightGBM 的结果是否值得信赖?

随机森林特征重要性

LightGBM 特征重要性

与目标的相关性

【问题讨论】:

不同的算法可能对重要和不重要(在你的情况下装袋和提升)有不同的看法。最重要的是,您将线性算法与非线性算法(树与线性相关)混合在一起。 @Sergey,感谢您的评论。我知道他们确实有不同的意见,并且完全同意线性相关性可能无法让您全面了解基于树的算法中的特征重要性。但我想他们仍然会说一句话。对于这种情况,前 4 个功能的贡献很小,这让我感到非常惊讶。与其他相关性相比,它们的相关性非常出色。 【参考方案1】:

嗯,GBM 通常表现得更好,尤其是当您与随机森林进行比较时。尤其是在将其与 LightGBM 进行比较时。与随机森林相比,经过适当调整的 LightGBM 最有可能在性能和速度方面胜出。

GBM 优势:

More developed. A lot of new features are developed for modern GBM model (xgboost, lightgbm, catboost) which affect its performance, speed, and scalability.

GBM 的缺点:

Number of parameters to tune
Tendency to overfit easily

如果您不能完全确定 LightGBM 的超参数是否已正确调整,请坚持使用随机森林;这将更易于使用和维护。

【讨论】:

嗨,ASH,感谢您的回答,但它并没有真正回答我要说的问题。并不是我不明白如何调整 LightGBM。我实际上知道如何做到这一点并且经常这样做。在这种情况下,这只是功能重要性让我感到惊讶,并且想看看是否有人经历过同样的事情。这可能是因为 LightGBM 设法在一些特征之间找到了一些非线性的高相关性,这些特征最终主导了前 4 个特征(线性 corr)。顺便说一句,随机森林和 LightGBM 在这个问题上的表现相似。 当我谈到使用默认值时,我指的是树分割方法。我确实调整了其他超参数。

以上是关于LightGBM 的特征重要性的主要内容,如果未能解决你的问题,请参考以下文章

LightGBM原理与实践简记

lightgbm用于排序

环境空气质量评价挑战赛baseline——使用lightgbm+特征工程。

特征筛选还在用XGB的Feature Importance?试试Permutation Importance

特征筛选还在用XGB的Feature Importance?试试Permutation Importance

LightGBM的算法介绍