Які корисні вказівки щодо параметрів GBM?


31

Які корисні вказівки щодо тестування параметрів (наприклад, глибина взаємодії, мінчік, частота вибірки тощо) з використанням ГБМ?

Скажімо, у мене 70-100 функцій, кількість населення 200 000, і я маю намір перевірити взаємодію на глибині 3 і 4. Ясно, що мені потрібно зробити кілька тестувань, щоб побачити, яка комбінація параметрів найкраще вибірка. Будь-які пропозиції щодо того, як підійти до цього тестового дизайну?

Відповіді:


34

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.