Oceń model regresji logistycznej
Dokładność (accuracy) to zazwyczaj niezbyt wiarygodna metryka — może być zaburzona przez dominującą klasę docelową.
Istnieją dwie inne przydatne metryki:
- precyzja oraz
- czułość.
Sprawdź slajdy do tej lekcji, aby znaleźć odpowiednie wzory.
Precyzja to odsetek pozytywnych przewidywań, które są trafne. Spośród wszystkich lotów przewidzianych jako opóźnione — jaka część rzeczywiście jest opóźniona?
Czułość to odsetek pozytywnych przypadków, które model poprawnie przewidział. Spośród wszystkich opóźnionych lotów — jaka część została prawidłowo wykryta przez model?
Precyzja i czułość są zazwyczaj wyznaczane względem pozytywnej klasy docelowej. Można jednak obliczać również ich ważone wersje, które uwzględniają obie klasy docelowe.
Składowe macierzy pomyłek są dostępne jako TN, TP, FN i FP, a także obiekt prediction.
To ćwiczenie jest częścią kursu
Uczenie maszynowe z PySpark
Instrukcje do ćwiczenia
- Wyznacz precyzję i czułość.
- Utwórz ewaluator wieloklasowy i oceń ważoną precyzję.
- Utwórz ewaluator binarny i oceń AUC przy użyciu metryki
"areaUnderROC".
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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.____(____, {____})