Limio— Learn your way
🏆 Đấu trường
Đăng nhậpĐăng ký

Thiết kế và phát triển: @Limio team - Khoa Khoa học và Công nghệ Giáo dục, Đại học Bách Khoa Hà Nội

← Fundamental of Machine Learning

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.

Đăng nhập
Module 3: Model Evaluation and Optimization

Các độ đo đánh giá (Evaluation Metrics)

In / Lưu PDF

Các độ đo đánh giá

Ma trận nhầm lẫn — gốc của mọi độ đo phân loại

Dự đoán +Dự đoán −
Thực tế +TPFN (lỗi loại II)
Thực tế −FP (lỗi loại I)TN

Bốn độ đo phân loại

Độ đoCông thứcTrả lời câu hỏi
Accuracy(TP+TN)/tổngĐoán đúng bao nhiêu phần trăm?
PrecisionTP/(TP+FP)Khi mô hình báo dương, bao nhiêu lần đúng?
RecallTP/(TP+FN)Trong số ca dương thật, mô hình tìm ra bao nhiêu?
F12PR/(P+R)Cân bằng cả hai

Chọn độ đo theo cái giá của lỗi

Câu hỏi quyết định: lỗi nào đắt hơn?

Bài toánLỗ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ácChặn nhầm mail quan trọng (FP)Precision
Phát hiện gian lậnCả hai đều tốn kémF1

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 cho bài toán hồi quy

Độ đoĐặc điểm
MAETrung bình trị tuyệt đối sai số. Dễ hiểu, cùng đơn vị với đầu ra
MSE / RMSEBì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))

Lỗi thường gặp nhất

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.