artificial-intelligence - machine - clasificacion de textos python
Medición del rendimiento del algoritmo de clasificación (2)
Tengo un problema de clasificación en la mano, que me gustaría abordar con un algoritmo de aprendizaje automático (probablemente Bayes o Markovian, la pregunta es independiente del clasificador que se utilizará). Dadas varias instancias de capacitación, estoy buscando una manera de medir el rendimiento de un clasificador implementado, teniendo en cuenta el problema de sobreajuste de datos.
Es decir: dadas las muestras de entrenamiento de N [1..100], si ejecuto el algoritmo de entrenamiento en cada una de las muestras y utilizo estas mismas muestras para medir la aptitud, podría quedar atrapado en un problema de sobreajuste de datos: el clasificador sabrá las respuestas exactas para las instancias de entrenamiento, sin tener mucho poder predictivo, haciendo que los resultados de la aptitud sean inútiles.
Una solución obvia sería separar las muestras etiquetadas a mano en el entrenamiento y las muestras de prueba; y me gustaría aprender sobre los métodos para seleccionar las muestras estadísticamente significativas para el entrenamiento.
Libros blancos, punteros de libros y archivos PDF muy apreciados.
Como el Sr. Brownstone dijo que la Validación cruzada 10 veces es probablemente la mejor manera de hacerlo. Recientemente tuve que evaluar el rendimiento de varios clasificadores diferentes para esto. Usé Weka . Que tiene una API y una carga de herramientas que le permiten probar fácilmente el rendimiento de muchos clasificadores diferentes.
Puede usar una validación cruzada de 10 veces para esto. Creo que es un enfoque bastante estándar para la evaluación del rendimiento del algoritmo de clasificación.
La idea básica es dividir sus muestras de aprendizaje en 10 subconjuntos. Luego use un subconjunto para datos de prueba y otros para datos de trenes. Repita esto para cada subconjunto y calcule el rendimiento promedio al final.