Tenemos un pequeño conjunto de datos (alrededor de 250 muestras * 100 características) en el que queremos construir un clasificador binario después de seleccionar el mejor subconjunto de características. Digamos que dividimos los datos en:
Entrenamiento, Validación y Pruebas
Para la selección de características, aplicamos un modelo de envoltura basado en la selección de características que optimizan el rendimiento de los clasificadores X, Y y Z, por separado. En este paso de preprocesamiento, utilizamos datos de capacitación para capacitar a los clasificadores y datos de validación para evaluar cada subconjunto de características candidatas.
Al final, queremos comparar los diferentes clasificadores (X, Y y Z). Por supuesto, podemos usar la parte de prueba de los datos para tener una comparación y evaluación justas. Sin embargo, en mi caso, los datos de prueba serían realmente pequeños (alrededor de 10 a 20 muestras) y, por lo tanto, quiero aplicar la validación cruzada para evaluar los modelos.
La distribución de los ejemplos positivos y negativos está muy mal equilibrada (alrededor de 8: 2). Por lo tanto, una validación cruzada podría llevarnos erróneamente a evaluar el rendimiento. Para superar esto, planeamos tener la porción de prueba (10-20 muestras) como un segundo método de comparación y validar la validación cruzada.
En resumen, estamos dividiendo los datos en capacitación, validación y pruebas. Las piezas de capacitación y validación se utilizarán para la selección de funciones. Luego, se aplicará la validación cruzada sobre los mismos datos para estimar los modelos. Finalmente, las pruebas se utilizan para validar la validación cruzada dado el desequilibrio de los datos.
La pregunta es: si usamos los mismos datos (entrenamiento + validación) utilizados para seleccionar las características que optimizan el rendimiento de los clasificadores X, Y y Z, ¿podemos aplicar la validación cruzada sobre los mismos datos (entrenamiento + validación) utilizados para la selección de características medir el rendimiento final y comparar los clasificadores?
No sé si esta configuración podría conducir a una medida de validación cruzada sesgada y resultar en una comparación no justificada o no.
Respuestas:
Creo que es parcial. ¿Qué pasa con la aplicación de FS en la partición N-1 y prueba en la última partición? y combine las características de todos los pliegues de alguna manera (unión / intersección / o alguna forma específica del problema).
fuente
La respuesta simple es que debe hacer la selección de características en un conjunto de datos diferente al que entrena (ya lo está haciendo, así que no cambie esto): el efecto de no hacerlo es que sobreajustará sus datos de entrenamiento. Tampoco debe hacer una selección de funciones en su conjunto de pruebas, ya que esto aumentará las estimaciones del rendimiento de sus modelos (creo que ya se da cuenta de esto también, pero me resultó un poco difícil entender la pregunta con precisión).
Si ya ha dividido su conjunto de pruebas en capacitación, validación y pruebas, entonces no hay ninguna razón particular para hacer una validación cruzada a menos que tenga tan pocos datos que su conjunto de pruebas sea demasiado pequeño para sacar conclusiones sólidas. A muchos investigadores no les gusta la validación cruzada porque si se usa para impulsar el desarrollo del modelo (con lo que quiero decir, modifica las cosas, luego ejecuta la validación cruzada para ver cómo funcionan, luego las ajusta un poco más, etc.) efectivamente tiene acceso a su prueba datos y esto puede llevarlo a sobreestimar su rendimiento en datos realmente invisibles. Si sus datos son tan pequeños que no tiene más remedio que hacer una validación cruzada, la forma correcta de hacerlo con los conjuntos de entrenamiento, desarrollo y prueba es dividir explícitamente sus datos en tres partes para cada pliegue, la mayoría debe usarse para entrenamiento, algunos para el desarrollo (selección de características en su caso, más cualquier otro parámetro libre que necesite ajuste) y finalmente debe probar en la parte de prueba. Luego puede promediar los puntajes en estas porciones de prueba para obtener una estimación del rendimiento del modelo: sin embargo, como dije, tenga en cuenta que si estos puntajes se usan para guiarlo hacia los enfoques que desea usar para su problema, no debe esperar obtener el mismo puntaje en datos invisibles que obtuvo de su validación cruzada.
fuente
finally you should test on the test portion. You can then average scores across these test portions to get an estimate of model performance
Para tener algún sentido del rendimiento de un clasificador, debe usarse en datos de prueba que no se hayan visto ni usado antes. De la forma en que lo veo, si toma una decisión basada en el rendimiento del algoritmo en algún conjunto de datos, este conjunto de datos es de capacitación o de validación cruzada, bajo ninguna circunstancia debería llamarse conjunto de datos de prueba.¿Intentaste LOOCV? Creo que es apto para entrenar, cuando tienes muy pocos datos de entrenamiento. Para responder a su pregunta, eso no le daría los mejores resultados simplemente porque podría sobreajustar y darle resultados engañosos, de modo que su clasificador no funcionaría bien en otros datos, que no ha visto.
fuente
Puede hacer lo siguiente para comparar el rendimiento de los clasificadores.
Tome su conjunto de entrenamiento y capacítelo en cada conjunto de características posibles. Para cada conjunto de características, minimice los parámetros y cree el modelo de manera que se ajuste bien al conjunto de entrenamiento. Ahora, una vez que los modelos se hayan creado para todos los conjuntos de características, es decir, que tenga un modelo para cada conjunto de características, valide los modelos (basados en diferentes conjuntos de características) en el conjunto de validación y seleccione ese modelo (creado para un subconjunto particular de conjunto de características ) que proporciona el error mínimo en el conjunto de validación. De esta manera, se asegura de que el modelo construido se ajuste bien no solo al conjunto de entrenamiento sino también al conjunto de validación.
Ahora, tome este modelo construido y pruébelo en el conjunto de prueba. Esto le dirá qué tan bien se desempeña el clasificador una vez que se ejecuta en un conjunto de datos que no se utilizó ni para entrenamiento ni para validación. Además, ha seleccionado ese conjunto de características que se ajusta al conjunto de entrenamiento y también al conjunto de validación.
fuente
Si es posible, es mejor retener algunos datos para una validación cruzada adicional. Por ejemplo, puede usarlo para validar sus algoritmos construyendo curvas de aprendizaje. Estas curvas deben construirse sobre un conjunto de datos que no se haya utilizado antes.
Incluso si desea simplemente seleccionar un algoritmo que le brinde la puntuación F1 más alta, necesitaría usar un conjunto de datos de validación cruzada adicional para hacerlo. El conjunto de pruebas debe reservarse para informar la precisión final de su solución (rendimiento esperado del clasificador elegido en datos no vistos).
fuente
Puede estar muy sesgado, consulte el capítulo de validación del modelo en "Elementos de aprendizaje estadístico". Puede hacer que la precisión del modelo cv sea superior al 70%, mientras que la tasa de error real de cualquier modelo debe ser del 50% (las características son independientes de la clase )
fuente