Каковы некоторые полезные рекомендации для параметров GBM?


31

Каковы некоторые полезные рекомендации для тестирования параметров (например, глубина взаимодействия, minchild, частота выборки и т. Д.) С использованием GBM?

Допустим, у меня 70-100 функций, население 200 000, и я собираюсь проверить глубину взаимодействия 3 и 4. Очевидно, мне нужно провести некоторое тестирование, чтобы увидеть, какая комбинация параметров лучше всего подходит для выборки. Любые предложения о том, как подойти к этому проекту теста?

Ответы:


34

Пакет каретки может помочь вам оптимизировать выбор параметров для вашей проблемы. Виньетка 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.