Evalueer het Logistic Regression-model
Accuracy is over het algemeen geen erg betrouwbare metriek, omdat deze kan worden vertekend door de meest voorkomende doeldklasse.
Er zijn twee andere nuttige metrieken:
- precision en
- recall.
Bekijk de dia's van deze les voor de bijbehorende formules.
Precision is het aandeel van de positieve voorspellingen dat correct is. Van alle vluchten waarvan wordt voorspeld dat ze vertraagd zijn: welk aandeel is daadwerkelijk vertraagd?
Recall is het aandeel van de positieve uitkomsten dat correct wordt voorspeld. Van alle vertraagde vluchten: welk aandeel wordt correct voorspeld door het model?
Precision en recall worden meestal geformuleerd in termen van de positieve doeldklasse. Maar het is ook mogelijk om gewogen varianten van deze metrieken te berekenen die naar beide doelklassen kijken.
De componenten van de confusion matrix zijn beschikbaar als TN, TP, FN en FP, evenals het object prediction.
Deze oefening maakt deel uit van de cursus
Machine Learning met PySpark
Oefeninstructies
- Bepaal de precision en recall.
- Maak een multi-class evaluator en evalueer de gewogen precision.
- Maak een binaire evaluator en evalueer de AUC met de metriek
"areaUnderROC".
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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.____(____, {____})