Cómo elegir el conjunto de validación para poder representar mejor el conjunto de prueba

Hola

En primer lugar, ¿es correcto el propósito? es decir, ¿necesita su modelo para generalizar o ajustarse a sucesos específicos? Además, ¿te refieres a representar mejor el conjunto de datos, en lugar del conjunto de prueba? Espero que esto esté interpretando su enfoque correctamente.

Además, ¿series temporales o no? Estas consideraciones serían importantes al elegir, por ejemplo, los períodos de tiempo y ordenar si tiene que ver con datos financieros tales como el estado de los mercados / volatilidad, etc. Uno no puede simplemente cortar la serie temporal cuando una recesión está en marcha.

Esto nuevamente difiere si tiene que ver con el ajuste para el concepto de canasta de bienes (generalizo aquí, sin juego de palabras). Un ejemplo es la cadena de supermercados que intenta identificar qué productos se combinan mejor con otros como parte de sus promociones, o qué colocar junto a otros productos, ya que generalmente los compran los clientes (cerveza y pañales, hmm). En este caso, tener un conjunto de validación más generalizado puede adaptarse mejor a su propósito.

El uso de la relación información / ganancia puede ayudar aquí, suponiendo que use una parte del conjunto de prueba para validar. Con no series de tiempo, puede hacer la aleatorización a través de la siembra aleatoria y tener una permutación de registros de tipo. Bastante fácil al hacer train-test-split y darle a la función una proporción de 80:20, depende de usted. Con la serie de tiempo, esto es un poco más complicado: necesita saber qué período comienza / termina, y esto significa que introduce algún tipo de sesgo desde el principio. Por otra parte, eso es lo que hace que el proceso sea interesante.

Si aún no ha construido el modelo (saltando algunos pasos), debe ver si la distribución de datos es representativa de todo el conjunto de datos: es donde se definirán las propiedades de su modelo (precisión, recuperación), por lo que trazar una distribución y ver si coincide con su conjunto de datos sería una buena idea.

Si tiene un conjunto de datos grande que se SHUFFLED, a menudo está bien dividir el conjunto de datos a través de una división 80/20 en el conjunto de datos de entrenamiento y prueba.

Si el conjunto de datos es pequeño, es posible que desee utilizar la validación cruzada de k-pliegues, lo que significa que divide el conjunto de datos en k conjuntos e itera a través del conjunto de datos k veces, siendo el conjunto de validación uno de los k conjuntos y tomando el promedio

La validación cruzada de K fold le permitirá hacer eso. Recorrerás todos tus datos k veces, cada vez que selecciones una nueva muestra de validación.

Eso no le dice qué conjunto es mejor para la validación, pero permitirá un modelo más robusto.

No hay una bala mágica para identificar el mejor conjunto, los conjuntos de entrenamiento y validación son ambos. Se supone que son representativos de la realidad, por lo tanto, su conocimiento de lo que está tratando de modelar sería la mejor manera de saberlo.