Oceń drzewo decyzyjne
Jakość modelu możesz ocenić, sprawdzając, jak dobrze radzi sobie na danych testowych. Ponieważ model nie był na nich trenowany, taka ocena ma obiektywny charakter.
Macierz pomyłek to przydatne zestawienie prognoz w stosunku do znanych wartości. Składa się z czterech komórek, które reprezentują liczby:
- Prawdziwych negatywów (TN) — model przewiduje wynik negatywny, a rzeczywisty wynik jest negatywny
- Prawdziwych pozytywów (TP) — model przewiduje wynik pozytywny, a rzeczywisty wynik jest pozytywny
- Fałszywych negatywów (FN) — model przewiduje wynik negatywny, ale rzeczywisty wynik jest pozytywny
- Fałszywych pozytywów (FP) — model przewiduje wynik pozytywny, ale rzeczywisty wynik jest negatywny.
Suma tych wartości (TN, TP, FN i FP) powinna być równa liczbie rekordów w danych testowych, które stanowią jedynie podzbiór danych o lotach. Możesz ją porównać z liczbą rekordów w zbiorze testowym, którą zwraca flights_test.count().
Uwaga: Prognozy są generowane na danych testowych, więc liczności są mniejsze niż w przypadku prognoz na danych treningowych.
To ćwiczenie jest częścią kursu
Uczenie maszynowe z PySpark
Instrukcje do ćwiczenia
- Utwórz macierz pomyłek, zliczając kombinacje wartości
labeliprediction. Wyświetl wynik. - Policz liczbę prawdziwych negatywów, prawdziwych pozytywów, fałszywych negatywów i fałszywych pozytywów.
- Oblicz dokładność modelu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)