En el aprendizaje automático, a menudo utilizamos los modelos de clasificación para obtener un resultado predicho de los datos de la población. La clasificación, que es una de las dos secciones del aprendizaje supervisado, se ocupa de datos de diferentes categorías. El conjunto de datos de entrenamiento entrena al modelo para predecir las etiquetas desconocidas de los datos de la población. Existen múltiples algoritmos, a saber, la regresión logística, el vecino más cercano, el árbol de decisión, Naive Bayes, etc. Todos estos algoritmos tienen su propio estilo de ejecución y diferentes técnicas de predicción. Pero, al final, tenemos que encontrar la eficacia de un algoritmo. Para encontrar el algoritmo más adecuado para un problema empresarial concreto, existen algunas técnicas de evaluación de modelos. En este artículo se discutirán diferentes técnicas de evaluación de modelos.
Probablemente obtuvo su nombre del estado de confusión que trata. Si recuerda las pruebas de hipótesis, puede recordar los dos errores que definimos como tipo-I y tipo-II. As depicted in Fig.1, type-I error occurs when null hypothesis is rejected which should not be in actual. And type-II error occurs when although alternate hypothesis is true, you are failing to reject null hypothesis.
In figure 1 it is depicted clearly that the choice of confidence interval affects the probabilities of these errors to occur. But the fun is that if you try to reduce either if these errors, that will result the increase of the other one.
So, what is confusion matrix?
Confusion matrix is the image given above. Es una representación matricial de los resultados de cualquier prueba binaria. Por ejemplo, tomemos el caso de la predicción de una enfermedad. Usted ha hecho algunas pruebas médicas y con la ayuda de los resultados de esas pruebas, usted va a predecir si la persona tiene una enfermedad. Así que, en realidad, vas a validar si la hipótesis de declarar que una persona tiene una enfermedad es aceptable o no. Digamos que entre 100 personas se predice que 20 tienen la enfermedad. En realidad sólo 15 personas tienen la enfermedad y entre esas 15 personas usted ha diagnosticado correctamente a 12 personas. Entonces, si pongo el resultado en una matriz de confusión, tendrá el siguiente aspecto –
Entonces, si comparamos la fig.3 con la fig.2 encontraremos –
- Verdadero Positivo: 12 (¡Ha predicho correctamente el caso positivo!)
- Verdadero Negativo: 77 (¡Ha predicho correctamente el caso negativo!)
- Falso Positivo: 8 (¡Oh! Ha predicho que estas personas tienen la enfermedad, pero en realidad no la tienen. Pero no se preocupe, esto puede ser rectificado en un análisis médico posterior. Por lo tanto, se trata de un error de bajo riesgo. En este caso se trata de un error de tipo II).
- Falso Negativo: 3 (¡Oh ho! Usted ha pronosticado que estos tres pobres compañeros son aptos. Pero en realidad tienen la enfermedad. ¡Esto es peligroso! Tenga cuidado. Se trata de un error de tipo I en este caso).
Ahora bien, si pregunto cuál es la exactitud del modelo de predicción que he seguido para obtener estos resultados, la respuesta debería ser el cociente entre el número predicho con exactitud y el número total de personas que es (12+77)/100 = 0,89. Si estudia la matriz de confusión a fondo encontrará lo siguiente –
- La fila superior representa el número total de predicciones que hizo como si tuviera la enfermedad. Entre estas predicciones usted ha predicho correctamente que 12 personas tienen la enfermedad en realidad. Por lo tanto, el ratio 12/(12+8) = 0,6 es la medida de la precisión de su modelo para detectar que una persona tiene la enfermedad. Esto se llama Precisión del modelo.
- Ahora, tome la primera columna. Esta columna representa el número total de personas que tienen la enfermedad en realidad. Y usted ha predicho correctamente para 12 de ellos. Por lo tanto, la relación, 12/(12+3) = 0,8 es la medida de la precisión de su modelo para detectar una persona que tiene la enfermedad de todas las personas que tienen la enfermedad en la actualidad. Esto se denomina Recall.
Ahora, puede preguntarse por qué necesitamos medir la precisión o el recall para evaluar el modelo?
La respuesta es que es muy recomendable cuando un resultado particular es muy sensible. Por ejemplo, vas a construir un modelo para un banco para predecir transacciones fraudulentas. No es muy común tener una transacción fraudulenta. En 1000 transacciones, puede haber una transacción fraudulenta. Así que, sin duda, su modelo predecirá una transacción como no fraudulenta con mucha precisión. Así que, en este caso, la precisión total no importa, ya que siempre será muy alta, independientemente de la precisión de la predicción de las transacciones fraudulentas, ya que es un porcentaje muy bajo en toda la población. Pero la predicción de una transacción fraudulenta como no fraudulenta no es deseable. Por lo tanto, en este caso la medición de la precisión tendrá un papel vital para evaluar el modelo. Ayudará a comprender cuántas transacciones fraudulentas reales está prediciendo. Si es baja, aunque la precisión global sea alta, el modelo no es aceptable.
Curva de características operativas del receptor (ROC)
Medir el área bajo la curva ROC es también un método muy útil para evaluar un modelo. El ROC es la relación entre la Tasa de Verdaderos Positivos (TPR) y la Tasa de Falsos Positivos (FPR) (ver fig.2). En nuestro ejemplo de detección de enfermedades, la TPR es la medida de la relación entre el número de predicciones precisas de personas que tienen la enfermedad y el número total de personas que tienen la enfermedad en realidad. La FPR es la relación entre el número de personas a las que se les predice correctamente que no tienen la enfermedad y el número total de personas que no tienen la enfermedad en la realidad. Por lo tanto, si trazamos la curva, es así –