Na rotina rpart () para criar modelos CART, você especifica o parâmetro de complexidade para o qual deseja remover sua árvore. Eu vi duas recomendações diferentes para escolher o parâmetro de complexidade:
Escolha o parâmetro de complexidade associado ao erro mínimo possível de validação cruzada. Este método é recomendado pelo Quick-R e HSAUR.
Escolha o parâmetro de maior complexidade cujo erro validado cruzado estimado ainda esteja dentro de um SE do erro mínimo validado cruzado possível. Esta é a minha interpretação da documentação do pacote, que diz: "Uma boa escolha de cp para poda geralmente é o valor mais à esquerda para o qual a média está abaixo da linha horizontal" em referência a esse gráfico .
As duas opções de cp produzem árvores bastante diferentes no meu conjunto de dados.
Parece que o primeiro método sempre produzirá uma árvore mais complexa e potencialmente super ajustada. Existem outras vantagens, desvantagens, recomendações na literatura, etc. Devo levar em consideração ao decidir qual método usar? Posso fornecer mais informações sobre o meu problema de modelagem específico, se isso for útil, mas estou tentando manter essa questão ampla o suficiente para ser relevante para outras pessoas.
party
pacote que usa testes de significância (geralmente não é algo que eu recomendo, mas parece relevante aqui). Como sempre, porém, o melhor teste é utilidade e senso; isso é especialmente verdade se você estiver interessado principalmente em explicações.Respostas:
Na prática, vi as duas abordagens adotadas e acho que geralmente não se espera que seus resultados diferam muito de qualquer maneira.
Dito isto, Hastie e cols. Recomendam a regra do "erro padrão único" nos Elementos de aprendizagem estatística , e eu tendem a confiar no julgamento deles (Seção 7.10, pág. 244 na minha versão). A citação relevante é:
Sua intuição sobre por que alguém seguiria a regra de erro padrão único está correta - você faria isso para evitar a seleção de um modelo que superaiba os dados.
fonte
Você deve primeiro começar usando os argumentos
minsplit=0
ecp=0
(parâmetro de complexidade), depois usar as funçõesplotcp(T.max)
eprintcp(T.max)
escolher o valorcp
correspondente ao erro relativo mínimo e podar a árvore pela funçãoprune.rpart(T.max, cp=....)
Isso deve lhe proporcionar a árvore de classificação ideal, pois eles tendem a ser otimistas demais.
fonte