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