Evalúa el modelo de Logistic Regression
La exactitud (accuracy) no suele ser una métrica muy fiable porque puede estar sesgada por la clase objetivo más común.
Hay otras dos métricas útiles:
- precisión (precision) y
- recall.
Consulta las diapositivas de esta lección para ver las fórmulas correspondientes.
La precisión es la proporción de predicciones positivas que son correctas. De todos los vuelos que se predicen con retraso, ¿qué proporción tiene realmente retraso?
El recall es la proporción de resultados positivos que se predicen correctamente. De todos los vuelos con retraso, ¿qué proporción predice correctamente el modelo?
La precisión y el recall suelen formularse en términos de la clase objetivo positiva. Pero también es posible calcular versiones ponderadas de estas métricas que tienen en cuenta ambas clases objetivo.
Los componentes de la matriz de confusión están disponibles como TN, TP, FN y FP, así como el objeto prediction.
Este ejercicio forma parte del curso
Machine learning con PySpark
Instrucciones del ejercicio
- Calcula la precisión y el recall.
- Crea un evaluador multiclase y evalúa la precisión ponderada.
- Crea un evaluador binario y evalúa el AUC usando la métrica
"areaUnderROC".
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
from pyspark.ml.evaluation import MulticlassClassificationEvaluator, BinaryClassificationEvaluator
# Calculate precision and recall
precision = ____
recall = ____
print('precision = {:.2f}\nrecall = {:.2f}'.format(precision, recall))
# Find weighted precision
multi_evaluator = ____
weighted_precision = multi_evaluator.____(prediction, {multi_evaluator.metricName: "____"})
# Find AUC
binary_evaluator = ____
auc = binary_evaluator.____(____, {____})