LightGBM 用于特征选择

问题描述 投票:0回答:2

我正在研究二元分类问题,我的训练数据有数百万条记录和约 2000 个变量。我正在运行 lightGBM 进行特征选择,并使用从 lightGBM 中选择的特征来运行神经网络(使用 Keras)模型进行预测。我对我正在遵循的方法有几个问题。

  1. 我在使用lightGBM进行特征选择时进行超参数调整。这是基于我的理解,随着超参数的变化,选择的特征也会不同。我使用“goss”算法和“gain”作为特征重要性类型。我看过几篇文章,他们使用 lightGBM 进行特征选择,但我还没有看到任何他们只是使用默认设置进行超参数调整的文章。这是正确的做法吗?
  2. 可以使用lightGBM进行特征选择,然后使用神经网络根据lightGBM选择的特征构建模型进行预测吗?

非常感谢任何帮助。谢谢

machine-learning neural-network lightgbm
2个回答
4
投票

梯度提升算法是识别特征的有效方法,但不是最有效的方法,因为这些方法是启发式的并且非常昂贵 - 换句话说,与其他方法相比,运行时间要长得多。

关于特征选择的超参数调整:很多时候,超参数最终会得到相同的特征集,但当然会有不同的值。例如想象模型 1 是

A > 3.4 and B < 2.7
,其中 A 和 B 是特征,模型 2
A > 3.2 and B < 2.5
。它们是不同的型号,其中一个可能具有更好的性能,但最终它们使用相同的功能!你的目标不是使用最好的模型,因为你打算在上面构建一个深度学习模型。但是,在您使用 2000 个特征的情况下,根据分支的深度和构建树的特征数量,它可能会有点不同。

一般来说,在特征选择阶段进行超参数调整并不常见,而是在模型构建阶段进行。特别是对于深度学习模型,人们的目标是尽可能具有包容性。


0
投票

https://github.com/perpetual-ml/perpetual

您可以尝试 PerpetualBooster 来检查您的特征的重要性,因为该算法不需要超参数调整。从预算 = 0.5 开始进行功能选择。如果需要更好的结果,请将预算增加到 1.0。如果您想全力以赴,请升至 2.0。

© www.soinside.com 2019 - 2024. All rights reserved.