Я понимаю, что в модели деревьев повышения есть 3 параметра настройки, т.е.
- количество деревьев (количество итераций)
- параметр усадки
- количество разбиений (размер каждого составляющего дерева)
У меня вопрос: для каждого из параметров настройки, как мне найти его оптимальное значение? А какой метод?
Обратите внимание: параметр усадки и параметр количества деревьев работают вместе, т. Е. Меньшее значение параметра усадки приводит к увеличению значения числа деревьев. И мы должны это учитывать.
Я особенно заинтересован в методе, чтобы найти оптимальное значение для числа разделений. Должно ли оно основываться на перекрестной проверке или знании предметной области модели?
И как эти вещи осуществляются в gbm
пакете в R?
Есть два хороших источника для расширенных деревьев регрессии и пакета gbm. Для объяснения BRT и оптимизации количества деревьев (
nt
), скорости обучения (lr
) и сложности дерева (tc
) см . Рабочее руководство по ускоренным деревьям регрессии. Хотя оно сосредоточено на экологии, я думаю, что вы не найдете лучшего введения в BRT ,Для реализации BRT в пакете gbm см. Деревья ускоренной регрессии для экологического моделирования.
Короче говоря, эмпирическое правило состоит в том, чтобы выбрать скорость обучения, которая позволяет модели BRT соответствовать как минимум 1000 деревьев, поэтому, вероятно, вам потребуется низкая скорость обучения, возможно, 0,001, чтобы выполнить это. Но это зависит от размера ваших данных, см. Рис. 2 и 3 в Рабочем руководстве по BRT. Я думаю, что одним из возможных способов было бы настроить разные модели в BRT в соответствии с вашим размером данных, например, объединить разные lr (0.1, 0.01, 0.001), tc (1, 3, 5, 7, 9, 20) с разными сумками. .fractions (0,5, 0,7, 0,9) и выберите лучший в соответствии с наименьшим отклонением или наибольшим значением ROC. Может быть, это помогло.
источник
BRT_MODEL$self.statistics$correlation[[1]]
- это корреляция тестирования с данными обучения, которая является хорошим показателем теста.