O erro Out of Bag torna o CV desnecessário em florestas aleatórias?

15

Eu sou relativamente novo em florestas aleatórias. No passado, sempre comparei a precisão do ajuste contra o teste contra o ajuste contra o trem para detectar qualquer ajuste excessivo. Mas acabei de ler aqui que:

"Em florestas aleatórias, não há necessidade de validação cruzada ou de um conjunto de testes separado para obter uma estimativa imparcial do erro do conjunto de testes. Ele é estimado internamente, durante a execução ..."

O pequeno parágrafo acima pode ser encontrado na seção Estimativa de erro fora da bolsa (oob) . Esse conceito de Erro fora da bolsa é completamente novo para mim e o que é um pouco confuso é como o erro OOB no meu modelo é de 35% (ou 65% de precisão), mas, no entanto, se eu aplicar a validação cruzada aos meus dados (apenas uma observação simples) método) e comparar o ajuste vs teste contra o ajuste vs trem , obtenho uma precisão de 65% e uma precisão de 96%, respectivamente. Na minha experiência, isso é considerado sobreajuste, mas o OOB possui um erro de 35%, assim como meu erro de ajuste versus teste . Estou superando? Eu deveria estar usando validação cruzada para verificar a sobreajuste em florestas aleatórias?

Em resumo, não tenho certeza se devo confiar no OOB para obter um erro imparcial do erro do conjunto de testes quando meu ajuste versus trem indica que estou ajustando demais!

jgozal
fonte
OOB pode ser usado para determinar hiper parâmetros. Fora isso, para mim, para estimar o desempenho de um modelo, deve-se usar a validação cruzada.
Metariat 17/04
@ Matmattica quando você fala sobre hiper-parâmetros, o que exatamente você está falando? Desculpem a minha falta de conhecimento no tópico
jgozal
número de árvores e de recursos selecionados aleatoriamente em cada
interação
Sei que essa é uma pergunta completamente diferente, mas como você determina o número de árvores e a amostra de recursos em cada iteração de um erro?
jgozal
11
Pode ser que isso ajude: stats.stackexchange.com/a/112052/78313 Em geral, nunca vi tanta diferença no RF!
Metariat 17/04/19

Respostas:

21
  • erro de treinamento (como em predict(model, data=train)) normalmente é inútil. A menos que você faça a poda (fora do padrão) das árvores, ela não poderá ficar muito acima de 0 pelo design do algoritmo . A floresta aleatória usa a agregação de auto-inicialização de árvores de decisão, que são conhecidas por serem muito inadequadas. É como um erro de treinamento para um classificador de 1 vizinho mais próximo.

  • 1 1e

    Portanto, o erro fora da bolsa não é exatamente o mesmo (menos árvores para agregar, mais cópias de casos de treinamento) que um erro de validação cruzada, mas, para fins práticos, é próximo o suficiente.

  • O que faria sentido olhar para detectar o sobreajuste é comparar o erro out-of-bag com uma validação externa. No entanto, a menos que você saiba sobre o agrupamento de seus dados, um erro "simples" de validação cruzada estará propenso ao mesmo viés otimista que o erro imediato: a divisão é feita de acordo com princípios muito semelhantes.
    Você precisaria comparar a validação imediata ou cruzada com o erro para uma experiência de teste bem projetada para detectar isso.

cbeleites suporta Monica
fonte
11

O erro pronto para uso é útil e pode substituir outros protocolos de estimativa de desempenho (como validação cruzada), mas deve ser usado com cuidado.

Assim como a validação cruzada, a estimativa de desempenho usando amostras prontas para uso é calculada usando dados que não foram usados ​​para aprendizado. Se os dados foram processados ​​de forma a transferir informações entre amostras, a estimativa (provavelmente) será tendenciosa. Exemplos simples que vêm à mente estão executando a seleção de recursos ou a imputação de valores ausentes. Nos dois casos (e especialmente na seleção de recursos), os dados são transformados usando informações de todo o conjunto de dados, influenciando a estimativa.

George
fonte