Evaluiere das logistische Regressionsmodell
Die Genauigkeit ist in der Regel keine sehr verlässliche Kennzahl, da sie durch die häufigste Zielklasse verzerrt werden kann.
Es gibt noch zwei weitere nützliche Messgrößen:
- Präzision und
- zurückrufen.
Schau dir die Folien für diese Lektion an, um die entsprechenden Ausdrücke zu erhalten.
Die Genauigkeit ist der Anteil der positiven Vorhersagen, die richtig sind. Wie hoch ist der Anteil der Flüge, für die eine Verspätung vorhergesagt wurde, die tatsächlich verspätet sind?
Der Recall ist der Anteil der positiven Ergebnisse, die richtig vorhergesagt wurden. Welcher Anteil aller verspäteten Flüge wird von dem Modell richtig vorhergesagt?
Die Genauigkeit und der Rückruf werden in der Regel in Bezug auf die positive Zielklasse formuliert. Es ist aber auch möglich, gewichtete Versionen dieser Metriken zu berechnen, die beide Zielklassen berücksichtigen.
Die Komponenten der Konfusionsmatrix sind als TN
, TP
, FN
und FP
, sowie das Objekt prediction
verfügbar.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Finde die Präzision und den Recall.
- Erstelle einen Mehrklassenauswerter und bewerte die gewichtete Genauigkeit.
- Erstelle einen binären Evaluator und bewerte den AUC mit der Metrik
"areaUnderROC"
.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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.____(____, {____})