Vyhodnocení rozhodovacího stromu
Kvalitu modelu můžeš posoudit tak, že zjistíš, jak dobře si vede na testovacích datech. Protože model na těchto datech nebyl trénován, jde o objektivní zhodnocení jeho výkonu.
Matice záměn (confusion matrix) přehledně ukazuje, jak se předpovědi shodují se skutečnými hodnotami. Obsahuje čtyři buňky s počty:
- True Negatives (TN) — model předpovídá záporný výsledek a skutečný výsledek je také záporný
- True Positives (TP) — model předpovídá kladný výsledek a skutečný výsledek je také kladný
- False Negatives (FN) — model předpovídá záporný výsledek, ale skutečný výsledek je kladný
- False Positives (FP) — model předpovídá kladný výsledek, ale skutečný výsledek je záporný.
Součet těchto hodnot (TN, TP, FN a FP) by měl odpovídat počtu záznamů v testovacích datech, která jsou jen podmnožinou dat o letech. Pro srovnání můžeš použít flights_test.count().
Poznámka: Tyto předpovědi jsou vytvořeny na testovacích datech, takže počty jsou nižší, než by byly u předpovědí na trénovacích datech.
Toto cvičení je součástí kurzu
Machine Learning with PySpark
Pokyny k cvičení
- Vytvoř matici záměn tak, že spočítáš kombinace hodnot
labelaprediction. Výsledek zobraz. - Spočítej počet True Negatives, True Positives, False Negatives a False Positives.
- Vypočítej přesnost modelu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Create a confusion matrix
prediction.groupBy(____, 'prediction').____().____()
# Calculate the elements of the confusion matrix
TN = prediction.filter('prediction = 0 AND label = prediction').count()
TP = prediction.____('____ AND ____').____()
FN = prediction.____('____ AND ____').____()
FP = prediction.____('____ AND ____').____()
# Accuracy measures the proportion of correct predictions
accuracy = ____
print(accuracy)