GBM参数有哪些有用的准则?


31

使用GBM来测试参数(例如,交互深度,最小子集,采样率等)的一些有用准则是什么?

假设我有70-100个要素,一个200,000人口,并且我打算测试3和4的交互深度。显然,我需要进行一些测试,以查看哪些参数组合可以保持最佳的样本外。关于如何进行此测试设计的任何建议?

Answers:


34

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

软件包支持调谐shrinkagen.treesinteraction.depth参数的GBM模型,虽然你可以添加自己的。

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

shrinkage:只要您有时间(gbm手册对此有更多介绍,但总的来说,使用较小的值就不会出错)。您的数据集很小,所以我可能会从1e-3开始

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

interaction.depth:您已经对此有所了解。也尝试较小的值。最大值为floor(sqrt(NCOL(data))。

n.minobsinnode:我发现调整此变量非常重要。您不希望它如此之小,以至于算法发现太多的虚假特征。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.