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
  • Phân loại bệnh hiếm
  • Đánh giá cảm xúc trong NLP với dữ liệu lệch

Accuracy đôi khi đánh lừa bạn:
99% mẫu “bình thường” → đ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

Nhìn vào confusion matrix

Gồm:

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

Tính F1 chỉ cần TP, FP, FN.

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

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

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

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

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

F1 giúp nhìn tổng thể hơn.

Ví dụ thực tế trong AI/ML

Phân loại email spam

Kết quả:

  • TP = 80
  • FP = 20
  • FN = 40

→ Precision = 0.80
→ Recall = 0.67
→ F1 ≈ 0.72

Ý nghĩa: mô hình ổn nhưng còn bỏ sót spam → cần tăng Recall.

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

Dùng F1 khi:

  • Dữ liệu mất cân bằng
  • Bài toán nhạy cảm (bệnh, anomaly, spam, object detection quan trọng)
  • Cần cân bằng giữa bỏ sót và báo nhầm

Không cần F1 khi:

  • Dữ liệu cân bằng
  • FP và FN có chi phí tương đương

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

  • Dựa vào Accuracy và bỏ qua imbalance
  • Hiểu nhầm Precision và Recall
  • Không biết chọn macro / micro / weighted F1

Trong multi-class:

  • Macro F1 – trung bình đều
  • Micro F1 – phù hợp dữ liệu lệch
  • Weighted F1 – tính theo tỉ lệ mẫu từng lớp

Kết luận

Bạn không cần nhớ công thức. Chỉ cần nắm:

  • Accuracy đôi khi “ảo”
  • Precision và Recall nhìn hai góc khác nhau
  • F1 là điểm cân bằng hợp lý nhất trong nhiều bài toán thực tế

Nếu làm phân loại 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

  • Thử tự tạo một confusion matrix nhỏ để tính F1
  • So sánh F1 của nhiều mô hình khác nhau
  • Với multi-class, thử macro và weighted F1
  • Khi hiểu F1, các phần ML – CV – NLP sẽ dễ hơn rất nhiều

Hỏi đáp nhanh về chủ đề

F1 có quan trọng hơn Accuracy không?
Có — đặc biệt khi dữ liệu mất cân bằng.

Precision cao có nghĩa mô hình tốt không?
Không — vì có thể bỏ sót rất nhiều trường hợp.

Recall cao có nghĩa mô hình tốt không?
Không — vì có thể báo nhầm liên tục.

Có nên luôn dùng F1 thay Accuracy không?
Không — chỉ cần khi dữ liệu lệch hoặc bài toán nhạy cảm.

FAQ về chương trình AIO

Q. Con số 0 thì học nổi không?
Ans: Chỉ cần bạn có thời gian học; học đều mỗi ngày là điều quan trọng nhất.

Q. Ai dạy AIO?
Ans: Đội admin trực tiếp giảng dạy và hỗ trợ toàn bộ quá trình học.

Q. Admin có “xịn” không?
Ans: Admin là người làm nghề thật và dạy bằng hết sức, quan trọng là bạn hợp cách truyền đạt.

Q. AIO có gì khác những nơi khác?
Ans: AIO là dự án học tập cộng đồng với tinh thần “Cùng nhau học – cùng nhau khổ – cùng nhau lớn”.

Tài liệu học tập