¿Cómo decide cuáles son sus porcentajes de tren, validación y prueba?

10

Al dividir mis datos etiquetados en conjuntos de entrenamiento, validación y prueba, he escuchado de todo, desde 25/25/25 hasta 85/5/10. Estoy seguro de que esto depende de cómo va a utilizar su modelo y de cuán propenso es sobreajustar su algoritmo de aprendizaje. ¿Hay alguna forma de decidir o es todo por regla general? Incluso ELSII parece vago sobre el tema.

Ed bien
fuente
Este Q&A de Stackoverflow tiene dos buenas respuestas sobre el tema con> 30 votos a favor cada uno. stackoverflow.com/questions/13610074/…
Luke Singham el

Respuestas:

13

La validación de muestra dividida sin remuestreo (validación cruzada, o mejor: bootstrapping) no es confiable a menos que tenga una muestra enorme (p. Ej., ). Por lo general, se prefiere una validación interna rigurosa utilizando el bootstrap, suponiendo que programe todos los pasos de selección del modelo para que puedan repetirse en cada bucle de bootstrap. Y uno de los problemas con los enfoques de muestra dividida, además de la volatilidad, es la dificultad de elegir las fracciones divididas.norte>20000

Frank Harrell
fuente
¿Y qué pasa si está trabajando a datos de mayor escala (pero no a gran escala) de 10000 <N <1000000? En ese punto, la división parece razonable. Esto se ajusta a muchas, pero no a todas, las situaciones que encuentro.
Ed bien el
Podría ser bastante razonable.
Frank Harrell
Tengo N = 95,000,000 (espera un conjunto de 9,500,000). ¿Dónde hay una referencia que me dice que no tengo que repetir mi experimento 10x?
dranxo
2
Simplemente ejecute dos veces (2 divisiones) y verá cuánto varían los resultados. Probablemente varían tan poco que solo necesita una división. Piense en el ancho de un intervalo de confianza para una proporción con un tamaño de muestra tan grande.
Frank Harrell
3

Por supuesto, también debe decidir sobre las proporciones de división para el remuestreo (doble) ...

Sin embargo, el remuestreo generalmente funciona para una amplia gama de relaciones de división, si tiene en cuenta

  • no hacer una omisión si eso reduciría el número de posibles ejecuciones distintas
  • deje suficientes casos de entrenamiento en el conjunto de entrenamiento más interno para que el algoritmo de entrenamiento tenga una oportunidad decente de producir un modelo útil.
  • Cuantos más casos independientes tenga, menos importantes serán estas consideraciones.

¿Y qué pasa si está trabajando a datos de mayor escala (pero no a gran escala) de 10000 <N <1000000?

Lo que puede hacer si no está seguro de si es necesario volver a muestrear es: volver a muestrear algunas veces. Suficiente para que pueda medir si el muestreo fue necesario.

  • verifica la estabilidad de tus predicciones
  • verifique la estabilidad de los parámetros de su modelo

Con estos resultados, puede decidir si debe agregar más iteraciones de remuestreo o si las cosas están bien como están.

cbeleites descontentos con SX
fuente
2

No hay una regla dura y rápida para esto. Pero el análisis empírico mostró que cuantos más datos de entrenamiento tenga, mejor será su precisión. Pero hagas lo que hagas, no olvides reunir todos tus datos de entrenamiento / validación / prueba y hacer un CV de 10 veces cuando estés terminando. Esto proporciona una muy buena idea de tener un problema de sobreajuste / falta de ajuste durante su experimento.

Rushdi Shams
fuente
1

Creo que todo importa sobre qué preguntas estás tratando de responder. ¿Está interesado en una visión precisa de la diferencia de rendimiento entre múltiples algoritmos? Entonces necesita un conjunto de validación bastante grande. ¿Está interesado en el rendimiento de un algoritmo para N = 10000 muestras? Luego, debe poner al menos 10000 muestras en el conjunto de trenes.

Un conjunto de validación más grande le brinda más certeza estadística sobre sus resultados, pero la certeza es sobre el rendimiento de un algoritmo que se entrenó en menos muestras, que al final podría no ser lo que busca.

MLS
fuente