Decision Tree'yi Değerlendir
Modelinin kalitesini, test verisi üzerinde ne kadar iyi performans gösterdiğini değerlendirerek ölçebilirsin. Model bu verilerle eğitilmediği için bu, modelin nesnel bir değerlendirmesidir.
Bir karmaşıklık matrisi (confusion matrix), tahminlerle bilinen değerlerin faydalı bir dökümünü verir. Dört hücresi vardır ve şu sayıların her birini temsil eder:
- True Negatives (TN) — model olumsuz sonuç tahmin eder ve bilinen sonuç olumsuzdur
- True Positives (TP) — model olumlu sonuç tahmin eder ve bilinen sonuç olumludur
- False Negatives (FN) — model olumsuz sonuç tahmin eder ama bilinen sonuç olumludur
- False Positives (FP) — model olumlu sonuç tahmin eder ama bilinen sonuç olumsuzdur.
Bu sayılar (TN, TP, FN ve FP), yalnızca uçuş verilerinin bir alt kümesi olan test verisindeki kayıt sayısına eşit olmalıdır. Test verisindeki kayıt sayısıyla karşılaştırabilirsin: flights_test.count().
Not: Bu tahminler test verisi üzerinde yapıldığından, sayılar eğitim verisi üzerindeki tahminlere göre daha küçüktür.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Machine Learning
Egzersiz talimatları
labelvepredictionkombinasyonlarını sayarak bir confusion matrix oluştur. Sonucu görüntüle.- True Negatives, True Positives, False Negatives ve False Positives sayılarını say.
- Doğruluğu (accuracy) hesapla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)