Aprendizaje automático: ¿cómo puedo comparar entre clasificadores?

Si no entiende mal la pregunta, ¿está preguntando cómo comparar el rendimiento entre clasificadores?

Aquí, recomendaría la validación cruzada anidada. Un artículo relevante sería “Sesgo en la estimación de errores cuando se usa la validación cruzada para la selección del modelo” por Sudhir Varma y Richard Simon (Sesgo en la estimación de errores cuando se usa la validación cruzada para la selección del modelo).

En la validación cruzada anidada, tenemos un bucle de validación cruzada k-fold externo para dividir los datos en pliegues de entrenamiento y prueba, y se usa un bucle interno para seleccionar el modelo a través de la validación cruzada k-fold en el pliegue de entrenamiento. Después de la selección del modelo, el pliegue de prueba se usa para evaluar el rendimiento del modelo. Después de haber identificado nuestro algoritmo “favorito”, podemos hacer un seguimiento con un enfoque de validación cruzada “regular” (en el conjunto de entrenamiento completo) para encontrar sus hiperparámetros “óptimos” y evaluarlo en el conjunto de prueba independiente. Consideremos un modelo de regresión logística para aclarar esto: utilizando la validación cruzada anidada, entrenará m diferentes modelos de regresión logística, 1 para cada uno de los m pliegues exteriores, y los pliegues internos se utilizan para optimizar los hiperparámetros de cada modelo (por ejemplo, usando gridsearch en combinación con k-fold cross-validation. Si su modelo es estable, estos modelos m deberían tener los mismos valores de hiperparámetro, y usted informa el rendimiento promedio de este modelo basado en los pliegues de prueba externos. Luego, continúe con el siguiente algoritmo, por ejemplo, un SVM, etc.


Y si está utilizando Python y scikit-learn, he publicado un cuaderno de ejemplo aquí: Jupyter Notebook Viewer

Normalmente, la comparación de clasificadores significa algún tipo de comparación estadística. Una manera fácil es trazar la precisión promedio (o cualquier métrica de rendimiento, es decir, precisión, recuperación, etc.) y trazar barras de desviación estándar en la media en múltiples ejecuciones de sus clasificadores. Esto dará cierto nivel de confianza al visualizar que el 95.4% de precisión del clasificador A puede no ser estadísticamente diferente del 94.2% de precisión del clasificador B, si la desviación estándar de precisión para el clasificador A es digamos [math] \ pm [/ math] 3) Para obtener más información sobre los métodos formales de prueba estadística, puede consultar esta respuesta La respuesta de Shehroz Khan a ¿Cuál es la mejor manera de comparar la precisión de los clasificadores múltiples y por qué?

Porque todos tienen generalmente el mismo rendimiento

http://jmlr.csail.mit.edu/papers

excepto Naive Bayes, que puede ser muy malo