Estoy usando el ingenuo clasificador bayes para clasificar entre dos grupos de datos. Un grupo de datos es mucho más grande que el otro (más de 4 veces). Estoy usando la probabilidad previa de cada grupo en el clasificador.
El problema es que el resultado que obtengo tiene un 0% de índice positivo verdadero y un 0% de índice falso positivo. Obtuve los mismos resultados cuando configuré el anterior a 0.5 y 0.5.
¿Cómo puedo establecer mi umbral en algo mejor para poder obtener resultados más equilibrados?
Tuve un problema similar al usar el clasificador de regresión logística. Lo resolví restando el término anterior del sesgo.
Cuando uso Fisher Linear Discriminant en estos datos, obtengo buenos resultados con el umbral establecido en el medio.
Supongo que hay una solución común a este problema, simplemente no pude encontrarlo.
ACTUALIZACIÓN: Acabo de notar que el clasificador está sobreajustado. El rendimiento en el conjunto de entrenamiento es perfecto (100% correcto).
Si uso grupos iguales, entonces el clasificador comienza a clasificar también para el grupo "pequeño", pero el rendimiento es bastante malo (peor que FLD o LR).
ACTUALIZACIÓN2: Creo que el problema era que estaba usando una matriz de covarianza completa. Correr con una matriz de covarianza diagonal me dio resultados más "equilibrados".
Respuestas:
Asignar todos los patrones a la clase negativa ciertamente no es un "resultado extraño". Podría ser que el clasificador óptimo de Bayes siempre clasifique todos los patrones como pertenecientes a la clase mayoritaria, en cuyo caso su clasificador está haciendo exactamente lo que debería hacer. Si la densidad de los patrones que pertenecen a la clase positiva nunca excede la densidad de los patrones que pertenecen a la clase negativa, entonces la clase negativa es más probable independientemente de los valores de los atributos.
Lo que hay que hacer en tales circunstancias es considerar la importancia relativa de los errores falsos positivos y falsos negativos, es raro en la práctica que los costos de los dos tipos diferentes de error sean los mismos. Por lo tanto, determine la pérdida por errores falsos positivos y falsos negativos y tómelos en cuenta al establecer la probabilidad de umbral (los diferentes costos de clasificación errónea equivalen a cambiar las probabilidades anteriores, por lo que es fácil de implementar para Bayes ingenuos). Recomendaría ajustar los anteriores para minimizar la estimación de validación cruzada de la pérdida (incorporando sus costos desiguales de clasificación errónea).
Si sus costos de clasificación errónea son iguales, y su capacitación establece representaciones previas representativas de las condiciones operativas, suponiendo que su implementación sea correcta, es posible que ya tenga el mejor clasificador NB.
fuente
Amplíe el grupo de datos más pequeño para que se ajuste al grupo grande por cálculo. Estirará los datos del grupo más pequeño, pero permitirá un cálculo más igualitario.
Si aún obtiene resultados extraños como lo hace actualmente, verifique toda su implementación desde el principio para buscar un error (probablemente simple).
fuente