Como você decide quais são suas porcentagens de trem, validação e teste?

10

Ao dividir meus dados rotulados em conjuntos de treinamento, validação e teste, ouvi de 50/25/25 a 85/5/10. Estou certo de que isso depende de como você usará o seu modelo e de quão propenso a sobreajustar o seu algoritmo de aprendizado. Existe uma maneira de decidir ou é tudo por regra geral? Até o ELSII parece vago sobre o assunto.

Ed Fine
fonte
Estas perguntas e respostas sobre o Stackoverflow têm duas boas respostas sobre o tópico, com> 30 upvotes cada. stackoverflow.com/questions/13610074/…
Luke Singham

Respostas:

13

N>20000

Frank Harrell
fonte
E se você estiver trabalhando em dados de maior escala (mas não em dados grandes) de 10000 <N <1000000? Nesse ponto, a divisão parece razoável. Isso serve para muitas, mas não todas, situações que encontro.
Ed Belas
Poderia ser bastante razoável.
precisa
Eu tenho N = 95.000.000 (segure o conjunto de 9.500.000). Onde está uma referência que me diz que não preciso repetir meu experimento 10x?
dranxo
2
Basta executar duas vezes (2 divisões) e você verá quanto os resultados variam. Provavelmente variam tão pouco que você só precisa de uma divisão. Pense na largura de um intervalo de confiança para uma proporção com um tamanho de amostra tão grande.
Frank Harrell
3

Claro que você também precisa decidir sobre as razões de divisão para a reamostragem (dupla) ...

No entanto, a reamostragem geralmente funciona para uma ampla variedade de taxas de divisão, se você tiver em mente

  • para não deixar de fora se isso reduziria o número de possíveis execuções distintas
  • deixe casos de treinamento suficientes no conjunto de treinamento mais interno para que o algoritmo de rastreamento tenha uma chance decente de produzir um modelo útil.
  • quanto mais casos independentes você tiver, menos importantes serão essas considerações.

E se você estiver trabalhando em dados de maior escala (mas não em dados grandes) de 10000 <N <1000000?

O que você pode fazer se não tiver certeza de que a reamostragem é necessária é: reamostrar algumas vezes. O suficiente para que você possa medir se a reamostragem foi necessária.

  • verifique a estabilidade de suas previsões
  • verifique a estabilidade dos parâmetros do seu modelo

Com esses resultados, você pode decidir se deve adicionar mais iterações de reamostragem ou se as coisas estão bem como estão.

cbeleites descontentes com o SX
fonte
2

Não existe uma regra rígida para isso. Mas a análise empírica mostrou que quanto mais dados de treinamento você tiver, melhor será sua precisão. Mas faça o que fizer, não se esqueça de reunir todos os seus dados de treinamento / validação / teste e faça um CV de 10 vezes quando estiver finalizando. Isso fornece uma visão muito boa sobre o problema de overfit / underfit durante o experimento.

Rushdi Shams
fonte
1

Eu acho que tudo importa em quais perguntas você está tentando responder. Você está interessado em uma visão precisa da diferença de desempenho entre vários algoritmos? Então você precisa de um conjunto de validação bastante grande. Você está interessado no desempenho de um algoritmo para N = 10000 amostras? Então você deve colocar pelo menos 10.000 amostras no conjunto de trens.

Um conjunto de validação maior fornece mais segurança estatística sobre seus resultados, mas a certeza é sobre o desempenho de um algoritmo treinado em menos amostras, o que pode não ser o que você procura no final.

MLS
fonte