Calcula una matriz de confusión
Como viste en el vídeo, una matriz de confusión es una herramienta muy útil para calibrar la salida de un modelo y examinar todos los posibles resultados de tus predicciones (verdadero positivo, verdadero negativo, falso positivo, falso negativo).
Antes de crear tu matriz de confusión, necesitas “cortar” tus probabilidades predichas en un umbral dado para convertirlas en un factor de predicciones de clase. Combina ifelse() con factor() así:
pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))
confusionMatrix() en caret mejora table() de R base añadiendo muchas estadísticas auxiliares útiles además de las tasas base de la tabla. Puedes calcular la matriz de confusión (y las estadísticas asociadas) usando los resultados predichos y los reales, por ejemplo:
confusionMatrix(p_class, test_values)
Este ejercicio forma parte del curso
Machine Learning con caret en R
Instrucciones del ejercicio
- Usa
ifelse()para crear un vector de caracteres,m_or_r, que sea la clase positiva,"M", cuandopsea mayor que 0.5, y la clase negativa,"R", en caso contrario. - Convierte
m_or_ra factor,p_class, con los mismos niveles quetest[["Class"]]. - Crea una matriz de confusión con
confusionMatrix(), pasandop_classy la columna"Class"del conjuntotest.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix