¿Cómo seleccionaría los datos para capacitar y probar los modelos?

Divide los datos al azar. Dicho esto, generalmente desea utilizar una técnica llamada “muestreo estratificado”. Lo que esto hace es dividir aleatoriamente a los miembros de diferentes poblaciones en la proporción deseada.

Digamos que tiene 100 muestras que desea dividir en 70% de entrenamiento y 30% de prueba. En esas 100 muestras, 90 pertenecen al Grupo A y 10 al Grupo B. Si divide aleatoriamente los datos, puede terminar con un conjunto de entrenamiento que tiene 60 Grupo A + 10 Grupo B, y un conjunto de prueba de 30 Grupo A. Esto no es muy útil ya que nunca podrá probar en su conjunto de prueba si el algoritmo puede clasificar qué muestras pertenecen al Grupo B. Sin embargo, con el muestreo estratificado, el Grupo A se divide 70:30, y lo mismo se aplica al Grupo B. Terminarás con un conjunto de entrenamiento que tiene 63 y 7 muestras para el Grupo A y B, respectivamente. Además, su conjunto de prueba tendrá 27 y 3 muestras para el Grupo A y B, respectivamente. De esta manera, podrá probar mejor si su algoritmo está clasificando adecuadamente sus datos. El mismo procedimiento se puede aplicar a problemas de clasificación de varias clases.

Por lo general, he barajado las muestras de datos y / o seleccionado al azar con una cierta proporción (por ejemplo, 90% de datos de entrenamiento y 10% de pruebas o más bien 85% de entrenamiento, 5% de validación y luego 10% de datos de prueba).

Existen algunas bibliotecas que lo ayudarán a dividir los datos automáticamente, como Scikit-learn (sklearn.model_selection.train_test_split – documentación de scikit-learn 0.19.1) en Python.

Divide los datos al azar.

Si duda que lo dividió con sesgo, luego divídalo varias veces con validación cruzada.