Đánh giá Decision Tree
Bạn có thể đánh giá chất lượng mô hình bằng cách kiểm tra mức độ hoạt động trên dữ liệu kiểm thử. Vì mô hình không được huấn luyện trên các dữ liệu này, đây là một phép đánh giá khách quan về mô hình.
Một confusion matrix cho bạn cách phân tích hữu ích giữa dự đoán và giá trị đã biết. Nó có bốn ô biểu diễn số lượng:
- True Negatives (TN) — mô hình dự đoán kết quả âm và kết quả thực tế là âm
- True Positives (TP) — mô hình dự đoán kết quả dương và kết quả thực tế là dương
- False Negatives (FN) — mô hình dự đoán kết quả âm nhưng kết quả thực tế là dương
- False Positives (FP) — mô hình dự đoán kết quả dương nhưng kết quả thực tế là âm.
Các số đếm này (TN, TP, FN và FP) phải cộng lại bằng số bản ghi trong dữ liệu kiểm thử, vốn chỉ là một tập con của dữ liệu chuyến bay. Bạn có thể so sánh với số bản ghi trong dữ liệu kiểm thử, là flights_test.count().
Lưu ý: Các dự đoán này được tạo trên dữ liệu kiểm thử, nên số lượng sẽ nhỏ hơn so với khi dự đoán trên dữ liệu huấn luyện.
Bài tập này là một phần của khóa học
Machine Learning với PySpark
Hướng dẫn bài tập
- Tạo confusion matrix bằng cách đếm các tổ hợp của
labelvàprediction. Hiển thị kết quả. - Đếm số lượng True Negatives, True Positives, False Negatives và False Positives.
- Tính độ chính xác (accuracy).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)