GBM 参数有哪些有用的指导方针?

机器算法验证 r 假设检验 大车 助推
2022-01-15 22:05:01

使用 GBM 测试参数(即交互深度、minchild、采样率等)有哪些有用的指南?

假设我有 70-100 个特征,人口为 200,000,我打算测试 3 和 4 的交互深度。显然,我需要做一些测试,看看哪种参数组合最适合样本外。有关如何处理此测试设计的任何建议?

1个回答

caret 包可以帮助您针对您的问题优化参数选择。caretTrain 小插图展示了如何使用 10 倍重复交叉验证来调整 gbm 参数 - 其他优化方法可用,它们都可以使用 foreach 包并行运行。用于vignette("caretTrain", package="caret")阅读文档。

该软件包支持 gbm 模型的调整shrinkagen.treesinteraction.depth参数,但您可以添加自己的。

对于启发式,这是我最初的方法:

shrinkage: 尽可能小(gbm 手册对此有更多说明,但一般来说,较小的值不会出错)。您的数据集很小,所以我可能从 1e-3 开始

n.trees:我通常会创建一个初始模型,添加越来越多的树,直到gbm.perf说我有足够的树(实际上,通常是该值的 1.2 倍),然后将其用作进一步分析的指南。

interaction.depth: 你已经有这个想法了。也尝试较小的值。最大值是 floor(sqrt(NCOL(data))。

n.minobsinnode: 我发现调整这个变量真的很重要。您不希望它太小以至于算法发现太多虚假特征。