O pacote de interpolação pode ajudá-lo a otimizar a escolha do parâmetro para o seu problema. A vinheta caretTrain mostra como ajustar os parâmetros gbm usando a validação cruzada repetida em 10 vezes - outras abordagens de otimização estão disponíveis, todas elas podem ser executadas em paralelo usando o pacote foreach. Use vignette("caretTrain", package="caret")
para ler o documento.
O pacote suporta ajuste shrinkage
, n.trees
e interaction.depth
parâmetros para o modelo gbm, embora você possa adicionar seus próprios.
Para heurísticas, esta é minha abordagem inicial:
shrinkage
: Tão pequeno quanto você tem tempo (o manual gbm tem mais sobre isso, mas em geral você nunca pode dar errado com um valor menor). Seu conjunto de dados é pequeno, então eu provavelmente começaria com 1e-3
n.trees
: Geralmente desenvolvo um modelo inicial adicionando mais e mais árvores até gbm.perf
dizer que tenho o suficiente (na verdade, normalmente 1,2 vezes esse valor) e depois o uso como um guia para análises adicionais.
interaction.depth
: você já tem uma idéia sobre isso. Tente valores menores também. O valor máximo é mínimo (sqrt (NCOL (dados)).
n.minobsinnode
: Acho muito importante ajustar essa variável. Você não o quer tão pequeno que o algoritmo encontre muitos recursos espúrios.