Bạn đang xem thử công khai
Đăng nhập để lưu tiến độ, làm bài tập, thảo luận và nhận phản hồi.
| Dự đoán + | Dự đoán − | |
|---|---|---|
| Thực tế + | TP | FN (lỗi loại II) |
| Thực tế − | FP (lỗi loại I) | TN |
| Độ đo | Công thức | Trả lời câu hỏi |
|---|---|---|
| Accuracy | (TP+TN)/tổng | Đoán đúng bao nhiêu phần trăm? |
| Precision | TP/(TP+FP) | Khi mô hình báo dương, bao nhiêu lần đúng? |
| Recall | TP/(TP+FN) | Trong số ca dương thật, mô hình tìm ra bao nhiêu? |
| F1 | 2PR/(P+R) | Cân bằng cả hai |
Câu hỏi quyết định: lỗi nào đắt hơn?
| Bài toán | Lỗi đắt hơn | Ưu tiên |
|---|---|---|
| Sàng lọc ung thư | Bỏ sót ca bệnh (FN) | Recall |
| Lọc thư rác | Chặn nhầm mail quan trọng (FP) | Precision |
| Phát hiện gian lận | Cả hai đều tốn kém | F1 |
Vì sao F1 dùng trung bình điều hoà chứ không phải trung bình cộng: với P = 1.0 và R = 0.0, trung bình cộng cho 0.5 (nghe được), còn F1 cho 0 — phản ánh đúng thực tế là mô hình vô dụng. F1 không cho phép giấu một chỉ số kém.
| Độ đo | Đặc điểm |
|---|---|
| MAE | Trung bình trị tuyệt đối sai số. Dễ hiểu, cùng đơn vị với đầu ra |
| MSE / RMSE | Bình phương sai số — phạt nặng lỗi lớn |
| R² | So với baseline "luôn đoán trung bình". Bằng 1 là hoàn hảo, 0 là không hơn gì baseline |
Chọn MAE khi mọi sai số đều tệ như nhau; chọn RMSE khi một sai số lớn nguy hiểm hơn nhiều sai số nhỏ.
from sklearn.metrics import classification_report, confusion_matrix
print(classification_report(y_test, y_pred))
print(confusion_matrix(y_test, y_pred))
Báo cáo mỗi accuracy. Trên dữ liệu mất cân bằng, một mô hình luôn đoán lớp đa số đạt accuracy rất cao mà không phát hiện được ca nào thuộc lớp cần tìm.