Công cụ tính Accuracy là gì?
Accuracy (độ chính xác) là một trong những chỉ số phổ biến nhất để đánh giá mô hình phân loại. Nó cho biết tỉ lệ dự đoán mà mô hình đoán đúng trên tổng số — bao gồm cả những dự đoán dương đúng lẫn những dự đoán âm đúng. Công cụ này lấy bốn ô trong ma trận nhầm lẫn (confusion matrix) và quy đổi thành điểm accuracy, hiển thị đồng thời ở cả dạng tỉ lệ và phần trăm.
Cách sử dụng
Hãy nhập bốn giá trị lấy từ ma trận nhầm lẫn của bạn:
- TP (True Positives — Dương tính thật) — các trường hợp dương được dự đoán đúng là dương.
- TN (True Negatives — Âm tính thật) — các trường hợp âm được dự đoán đúng là âm.
- FP (False Positives — Dương tính giả) — các trường hợp âm bị dự đoán nhầm thành dương.
- FN (False Negatives — Âm tính giả) — các trường hợp dương bị dự đoán nhầm thành âm.
Công cụ sẽ tự động trả về accuracy. Không có công cụ trong tay? Bạn chỉ cần cộng bốn con số lại và áp dụng công thức bên dưới.
Giải thích công thức
$$\text{Accuracy} = \dfrac{TP + TN}{TP + TN + FP + FN}$$ Tử số đếm toàn bộ dự đoán đúng, còn mẫu số là tổng số lần dự đoán. Nhân kết quả với 100 để chuyển sang phần trăm.
Ví dụ minh họa
Giả sử một mô hình cho ra \(TP = 80\), \(TN = 70\), \(FP = 20\), \(FN = 30\). Số dự đoán đúng \(= 80 + 70 = 150\). Tổng số \(= 80 + 70 + 20 + 30 = 200\). $$\text{Accuracy} = \dfrac{150}{200} = 0{,}75 = 75\%$$
Độ Chính Xác Trong Các Kịch Bản Khác Nhau
Công thức độ chính xác giống nhau \(\text{Độ chính xác} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}} \times 100\%\) có thể che giấu các hành vi mô hình rất khác nhau. Mỗi kịch bản dưới đây sử dụng tổng cộng 100 trường hợp để các tỷ lệ phần trăm có thể so sánh trực tiếp.
| Kịch bản | TP | TN | FP | FN | Độ chính xác |
|---|---|---|---|---|---|
| Bộ dữ liệu cân bằng, mô hình tốt | 45 | 45 | 5 | 5 | 90% |
| Mất cân bằng, đa số âm tính (bệnh hiếm) | 2 | 93 | 2 | 3 | 95% |
| "Luôn dự đoán âm tính" (đường cơ sở) | 0 | 95 | 0 | 5 | 95% |
| Dương tính giả cao (cảnh báo quá mức) | 48 | 22 | 28 | 2 | 70% |
| Âm tính giả cao (bỏ sót dương tính) | 20 | 50 | 0 | 30 | 70% |
Điểm chính yếu là so sánh giữa dòng thứ hai và thứ ba: một mô hình chỉ dự đoán lớp đa số đạt 95% giống hệt với mô hình thực sự phát hiện một số trường hợp dương tính. Trên bộ dữ liệu cân bằng (dòng 1), độ chính xác có ý nghĩa hơn nhiều. Hai dòng cuối cùng cho thấy rằng hai mô hình có độ chính xác giống nhau 70% có thể thất bại theo các cách đối lập, không tương thích — cái này quá nhiều báo động giả, cái kia im lặng bỏ sót các trường hợp dương tính.
Giải Thích Điểm Độ Chính Xác Của Bạn
Độ chính xác là tỷ lệ của tất cả các dự đoán mà bộ phân loại dự đoán đúng — cả dương tính và âm tính. Độ chính xác 90% có nghĩa là 9 trên 10 trường hợp được gắn nhãn đúng, và tỷ lệ lỗi bù trừ là \(100\% - 90\% = 10\%\). Nó trực quan và dễ giao tiếp, chính vì vậy nó thường bị hiểu sai.
Luôn so sánh với đường cơ sở không có thông tin. Kiểm tra tính hợp lệ trung thực nhất là đường cơ sở lớp đa số: độ chính xác bạn sẽ nhận được bằng cách luôn đoán lớp phổ biến nhất. Nếu 95% trường hợp của bạn là âm tính, một bộ phân loại mù quáng dự đoán "âm tính" mỗi lần đã đạt 95%. Một mô hình thực sự phải vượt qua đường cơ sở đó để có giá trị — độ chính xác 95% ấn tượng trên phân chia 50/50 và vô giá trị trên phân chia 95/5.
Khi độ chính xác cao gây hiểu lầm. Trên dữ liệu mất cân bằng mạnh, độ chính xác được chi phối bởi lớp đa số. Một bộ dò gian lận, màn hình bệnh hiếm hoặc bộ dò lỗi có thể báo cáo độ chính xác 99% trong khi bắt được hầu như không có trường hợp dương tính hiếm nào thực sự quan trọng. Trong những cài đặt này, chi phí của dương tính giả và âm tính giả thường rất khác nhau, và một tỷ lệ phần trăm chung duy nhất không thể nắm bắt được điều đó.
Các chỉ số bổ sung độ chính xác:
- Độ chính xác (Precision) — trong những trường hợp dự đoán là dương tính, có bao nhiêu thực sự là: \(\text{TP}/(\text{TP}+\text{FP})\). Sử dụng khi dương tính giả có chi phí cao.
- Độ nhạy (Recall/Sensitivity) — trong những dương tính thực tế, bạn bắt được bao nhiêu: \(\text{TP}/(\text{TP}+\text{FN})\). Sử dụng khi bỏ sót một dương tính có chi phí cao.
- Tính đặc hiệu (Specificity) — trong những âm tính thực tế, bạn xác định chính xác bao nhiêu: \(\text{TN}/(\text{TN}+\text{FP})\).
- Chỉ số F1 (F1 score) — trung bình điều hòa của độ chính xác và độ nhạy, một số duy nhất cân bằng cả hai trên lớp dương tính.
- Độ chính xác cân bằng (Balanced accuracy) — trung bình của độ nhạy và tính đặc hiệu, sửa chữa sự mất cân bằng lớp và là con số tiêu đề tốt hơn khi các lớp bị lệch.
Đối với ví dụ cân bằng ở trên (TP=45, FP=5, FN=5), độ nhạy và độ chính xác đều là \(45/50 = 90\%\), vì vậy độ chính xác, độ chính xác và độ nhạy đều đồng ý — dấu hiệu bộ dữ liệu cân bằng tốt. Khi chúng khác biệt rõ rệt, hãy tin tưởng các chỉ số cho mỗi lớp hơn là một số độ chính xác duy nhất. Đây là thông tin kỹ thuật chung, không thay thế cho việc đánh giá cụ thể cho miền của vấn đề cụ thể của bạn.
Định Nghĩa & Thuật Ngữ
- Dương tính thực (TP)
- Một trường hợp dương tính mà mô hình dự đoán chính xác là dương tính (ví dụ: một bệnh nhân bị bệnh được gắn cờ là bị bệnh).
- Âm tính thực (TN)
- Một trường hợp âm tính mà mô hình dự đoán chính xác là âm tính (ví dụ: một bệnh nhân khỏe mạnh được xác nhận là khỏe mạnh).
- Dương tính giả (FP)
- Một trường hợp âm tính bị dự đoán sai là dương tính — một cảnh báo giả. Còn gọi là lỗi Loại I.
- Âm tính giả (FN)
- Một trường hợp dương tính bị dự đoán sai là âm tính — một sai sót. Còn gọi là lỗi Loại II.
- Ma trận nhầm lẫn (Confusion matrix)
- Một bảng 2×2 so sánh chéo lớp dự đoán với lớp thực tế, với TP, TN, FP và FN là bốn ô của nó. Đó là nguồn gốc của hầu hết các chỉ số phân loại.
- Độ chính xác (Accuracy)
- Tỷ lệ của tất cả các dự đoán là chính xác: \((\text{TP}+\text{TN})/(\text{TP}+\text{TN}+\text{FP}+\text{FN})\), thường được biểu thị dưới dạng phần trăm.
- Tỷ lệ lỗi (Error rate)
- Tỷ lệ của các dự đoán sai: \((\text{FP}+\text{FN})/(\text{TP}+\text{TN}+\text{FP}+\text{FN}) = 1 - \text{Độ chính xác}\).
- Độ chính xác (Precision)
- Giá trị dự đoán dương tính: \(\text{TP}/(\text{TP}+\text{FP})\) — mức độ đáng tin cậy của một dự đoán dương tính.
- Độ nhạy (Recall)
- Độ nhạy hoặc tỷ lệ dương tính thực: \(\text{TP}/(\text{TP}+\text{FN})\) — bao nhiêu dương tính thực tế đã được tìm thấy.
- Tính đặc hiệu (Specificity)
- Tỷ lệ âm tính thực: \(\text{TN}/(\text{TN}+\text{FP})\) — bao nhiêu âm tính thực tế đã được xác định chính xác.
- Chỉ số F1 (F1 score)
- Trung bình điều hòa của độ chính xác và độ nhạy: \(2 \cdot \frac{\text{độ chính xác} \cdot \text{độ nhạy}}{\text{độ chính xác} + \text{độ nhạy}}\), một thước đo cân bằng duy nhất của hiệu suất lớp dương tính.
Câu hỏi thường gặp
Accuracy có phải lúc nào cũng là chỉ số tốt không? Không. Với những tập dữ liệu mất cân bằng (ví dụ 95% trường hợp là âm), một mô hình vẫn có thể đạt accuracy cao chỉ bằng cách luôn dự đoán theo lớp chiếm đa số. Hãy kiểm tra thêm precision, recall và F1.
Accuracy nằm trong khoảng giá trị nào? Từ 0 (sai toàn bộ dự đoán) đến 1 (đúng toàn bộ dự đoán), tương đương 0%–100%.
Có dùng được cho bài toán đa lớp không? Có — bạn coi \(TP + TN\) là tổng số mẫu được phân loại đúng trên tất cả các lớp, và mẫu số là tổng số mẫu.