Пакет caret може допомогти вам оптимізувати вибір параметрів для вашої проблеми. Віньєтка caretTrain показує, як налаштувати параметри gbm, використовуючи 10-кратну повторну перехресну перевірку - доступні інші підходи до оптимізації, які можуть працювати паралельно за допомогою пакета foreach. Використовуйте vignette("caretTrain", package="caret")для читання документа.
Налаштування пакетів підтримує shrinkage, n.treesі interaction.depthпараметри моделі GBM, хоча ви можете додати свої власні.
Для евристики це мій початковий підхід:
shrinkage: Як мало у вас часу (у посібнику з gbm на це є більше, але в цілому ви можете помилитися з меншим значенням). Ваш набір даних невеликий, тому я, мабуть, розпочну з 1e-3
n.trees: Я зазвичай вирощую початкову модель, додаючи все більше і більше дерев, поки не gbm.perfскаже, що мені достатньо (насправді, як правило, в 1,2 рази більше, ніж це значення), а потім використовую це як керівництво для подальшого аналізу.
interaction.depth: Ви вже маєте уявлення про це. Спробуйте також і менші значення. Максимальне значення - пол (sqrt (NCOL (дані)).
n.minobsinnode: Мені здається, дуже важливо налаштувати цю змінну. Ви не хочете, щоб він був таким малим, що алгоритм знаходить занадто багато помилкових функцій.