Пакет 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
: Мені здається, дуже важливо налаштувати цю змінну. Ви не хочете, щоб він був таким малим, що алгоритм знаходить занадто багато помилкових функцій.