Tính toán F1-Score để đánh giá mô hình phân loại như thế nào?

Tác giả: AI VIET NAM (AI VIET NAM)

Keywords: f1-score, precision recall, đánh giá mô hình, machine learning cơ bản, imbalanced dataset, confusion matrix, cách tính f1, phân loại dữ liệu, ai vietnam

Nếu bạn mới bước vào Machine Learning, rất dễ gặp cảm giác:

  • Accuracy thì hiểu được, nhưng sang Precision – Recall – F1 là bắt đầu rối.
  • Không biết khi nào nên dùng Accuracy, khi nào nên dùng F1.
  • Gặp bài toán mất cân bằng dữ liệu (imbalanced) là tính hoài không ra kết quả hợp lý.

Đây là tình trạng phổ biến vì F1-Score thuộc nhóm kiến thức “đánh giá mô hình” – nền tảng quan trọng trong lộ trình AI/ML cơ bản → nâng cao.

Bài viết này giúp bạn hiểu bản chất và tự tính F1-Score mà không cần nhớ công thức máy móc.


F1-Score là gì?

Bản chất của F1-Score

F1-Score là thước đo đánh giá mô hình phân loại dựa trên hai yếu tố quan trọng:

  • Precision – Khi mô hình dự đoán “có”, thì bao nhiêu phần trăm là đúng?
  • Recall – Trong tất cả trường hợp thực sự “có”, mô hình bắt được bao nhiêu?

F1-Score là điểm hòa giữa Precision và Recall, giúp đánh giá mô hình một cách cân bằng, đặc biệt hữu ích trong dữ liệu mất cân bằng như:

  • Phát hiện gian lận (fraud detection)
  • Phân loại bệnh hiếm
  • Đánh giá cảm xúc trong NLP với dữ liệu lệch

Trong những bài toán này, Accuracy có thể đánh lừa bạn.

Ví dụ: 99% mẫu “bình thường” – mô hình đoán tất cả bình thường ⇒ Accuracy 99% nhưng mô hình vô dụng.
F1 giúp phát hiện các trường hợp như vậy.


Cách tính F1-Score (dễ hiểu – theo bản chất)

Nhìn vào confusion matrix

Confusion matrix gồm:

  • TP – Dự đoán đúng trường hợp “có”
  • FP – Dự đoán nhầm “có”
  • FN – Bỏ sót trường hợp “có”
  • TN – Dự đoán đúng trường hợp “không”

Để tính F1, bạn chỉ cần TP, FP, FN.

Hiểu Precision – Recall theo trực giác

  • Precision chú trọng độ sạch của dự đoán dương tính.
  • Recall chú trọng độ bao phủ các trường hợp dương tính thật.

Hiểu đơn giản:

➡️ Precision cao → mô hình ít báo nhầm
➡️ Recall cao → mô hình ít bỏ sót

F1-Score = Điểm cân bằng giữa Precision và Recall

Khi Precision – Recall chênh lệch nhiều, F1 sẽ phản ánh mức “cân bằng hợp lý”.

Ví dụ trong Computer Vision – phát hiện người trong camera:

  • Precision cao – Recall thấp → ít báo nhầm nhưng bỏ sót nhiều
  • Recall cao – Precision thấp → bắt được nhiều người thật nhưng báo nhầm liên tục

F1 cho bạn bức tranh cân bằng hơn.


Ví dụ thực tế trong AI/ML (không bịa số liệu)

Ví dụ: Phân loại email spam

Giả sử kết quả mô hình:

  • TP = 80 email spam đúng
  • FP = 20 email thường bị nhầm
  • FN = 40 email spam bị bỏ sót

Từ đây:

  • Precision = 80/(80+20) = 0.80
  • Recall = 80/(80+40) = 0.67
  • F1-Score ≈ 0.72

Ý nghĩa:
Mô hình khá cân bằng, nhưng bỏ sót spam nhiều → cần cải thiện Recall.

Trong thực tế, đây là ví dụ kinh điển trong ML cơ bản.


Khi nào nên dùng F1-Score thay vì Accuracy?

Dùng F1 khi:

  • Dữ liệu mất cân bằng

  • Cần cân bằng giữa “bỏ sót” và “báo nhầm”

  • Bài toán nhạy cảm:

    • Phát hiện bệnh
    • Phát hiện anomaly
    • Phân loại spam
    • Phát hiện vật thể quan trọng trong Computer Vision

Không cần ưu tiên F1 khi:

  • Dữ liệu cân bằng
  • Chi phí của FP/FN tương đương
  • Ví dụ: phân loại ảnh chó/mèo với dataset cân bằng → Accuracy là chỉ số đủ tốt

Người mới thường sai gì khi tính F1-Score?

Chỉ dựa vào Accuracy và bỏ qua imbalance

Lỗi kinh điển → mô hình tưởng tốt nhưng thực tế không dùng được.

Hiểu nhầm Precision và Recall

  • Precision cao ≠ mô hình tốt → có thể bỏ sót hàng loạt mẫu
  • Recall cao ≠ mô hình tốt → có thể báo nhầm liên tục

Không biết chọn macro / micro / weighted F1

Trong multi-class:

  • Macro F1 – trung bình đều giữa các lớp
  • Micro F1 – tính dựa trên tổng TP/FP/FN → hợp dữ liệu lệch
  • Weighted F1 – trung bình theo tỉ lệ mẫu từng lớp → tốt cho imbalance

Phần này xuất hiện ở các module ML nâng cao hoặc XAI/đánh giá mô hình.


Kết luận: F1-Score là thước đo cân bằng – đơn giản nhưng cực quan trọng

Bạn không cần nhớ công thức. Chỉ cần hiểu:

  • Accuracy đôi khi “ảo”
  • Precision và Recall nhìn hai mặt khác nhau
  • F1 là điểm hòa hợp lý giữa cả hai

Nếu đang làm phân loại, đặc biệt với dữ liệu lệch, F1 gần như là chỉ số mặc định phải xem.


Lời khuyên học thuật

  • Tự tạo một mini confusion matrix và thử tính F1
  • So sánh F1 của nhiều mô hình để thấy sự khác biệt
  • Với multi-class, hãy thử macro và weighted F1
  • Khi đã vững F1, các phần nâng cao trong ML – CV – NLP sẽ dễ dàng hơn

Tham khảo thêm