F1 Score Là Gì? Giải Thích Dễ Hiểu Cho Người Mới

Nếu bạn đã biết Precision và Recall, thì F1 Score là bước logic tiếp theo. Nó giải quyết một vấn đề rất thực tế: khi hai chỉ số này kéo nhau theo hướng ngược nhau, bạn chọn cái nào? F1 Score gộp chúng thành một con số duy nhất, giúp bạn khỏi đau đầu.

F1 Score Là Gì?

F1 Score là trung bình điều hòa (harmonic mean) của Precision và Recall. Nó đo độ chính xác tổng thể của một mô hình phân loại, đặc biệt hữu ích khi dữ liệu giữa các lớp không cân bằng.

Công thức: F1 = 2 × (Precision × Recall) / (Precision + Recall)

Nói đơn giản hơn: thay vì nhìn Precision và Recall riêng lẻ, F1 Score ép chúng phải đồng đều. Nếu một trong hai thấp, F1 sẽ thấp theo. Bạn không thể “ăn gian” bằng cách chỉ tối ưu một phía.

Tại Sao Cần F1 Score?

Giả sử bạn xây mô hình phát hiện email spam. Precision cao nghĩa là ít email thật bị nhận nhầm thành spam. Recall cao nghĩa là bạn bắt được nhiều email spam. Nhưng nếu Recall rất cao mà Precision thấp, bạn phàn nàn vì email quan trọng bị mất. Ngược lại, Precision cao mà Recall thấp thì spam vẫn tràn vào hộp thư.

F1 Score bắt bạn phải cân bằng. Nó punishments trường hợp một chỉ số cao nhưng chỉ số kia thấp. Đó cũng là lý do nhiều competition machine learning dùng F1 làm thước đo chính.

Đặc Điểm Của Trung Bình Điều Hòa

F1 Score dùng trung bình điều hòa chứ không phải trung bình cộng. Sự khác biệt rất lớn.

Ví dụ: Precision = 0.9, Recall = 0.1. Trung bình cộng cho ra 0.5, nghe cũng tạm ổn. Nhưng trung bình điều hòa cho F1 = 0.18 — phản ánh đúng thực tế rằng mô hình này đang bỏ sót rất nhiều kết quả dương tính.

Trung bình điều hòa ưu tiên giá trị thấp hơn. Nếu Recall = 0, F1 = 0 bất kể Precision cao bao nhiêu. Điều này hợp lý: một mô hình không thể tìm ra bất kỳ kết quả đúng nào thì không thể gọi là tốt, dù nó có chính xác đến đâu trên những gì nó dự đoán.

Khi Nào Nên Dùng F1 Score?

F1 Score phát huy sức mạnh nhất trong ba tình huống:

Dữ liệu mất cân bằng: Khi một lớp chiếm 95% dữ liệu, accuracy có thể達 95% chỉ bằng cách luôn đoán lớp đa số. F1 Score không để bạn lừa mình như vậy.

Cần cân bằng giữa Precision và Recall: Khi cả hai loại lỗi (false positive và false negative) đều tốn kém, F1 giúp bạn không thiên vị phía nào.

So sánh mô hình: Khi cần một con số duy nhất để xếp hạng nhiều mô hình, F1 tiện hơn là phải nhìn đồng thời hai số.

F1 Score Cao Bao Nhiêu Là Tốt?

F1 Score nằm trong khoảng 0 đến 1. Càng gần 1 càng tốt.

Theo kinh nghiệm thực tế: F1 trên 0.8 thường được coi là khá tốt cho nhiều bài toán. F1 từ 0.5 đến 0.8 tùy thuộc vào bài toán mà có thể chấp nhận được. F1 dưới 0.3 thường nghĩa là mô hình cần cải thiện thêm.

Nhưng đừng cố chạy theo con số. Trong y tế, F1 = 0.7 cho phát hiện ung thư có thể là thảm họa. Trong gợi ý sản phẩm, F1 = 0.5 đã có thể đem lại doanh thu. Ngữ cảnh quyết định mức “đủ tốt”.

Hạn Chế Của F1 Score

F1 Score không phải hoàn hảo. Nó treats Precision và Recall quan trọng như nhau. Nhưng trong thực tế, đôi khi bạn quan trọng một phía hơn.

Ví dụ: trong phát hiện gian lận thẻ tín dụng, bạn chấp nhận Recall thấp hơn để đổi lấy Precision cao — vì báo động sai quá nhiều sẽ phiền khách hàng. Lúc này F1 không phản ánh đúng ưu tiên của bạn.

Giải pháp là F-beta Score, một phiên bản tổng quát cho phép bạn điều chỉnh trọng số. F2 ưu tiên Recall hơn, F0.5 ưu tiên Precision hơn. Khi beta = 1, nó trở thành F1 Score thông thường.

Cách Tính F1 Score Trong Thực Tế

Hầu hết thư viện machine learning đều tính F1 Score sẵn. Trong Python, bạn chỉ cần:

from sklearn.metrics import f1_score
f1 = f1_score(y_true, y_pred)

Nếu có nhiều lớp, bạn chọn cách tính trung bình: macro (mỗi lớp quan trọng như nhau), micro (mỗi mẫu quan trọng như nhau), hoặc weighted (có trọng số theo tần suất lớp).

Macro F1 đặc biệt hữu ích khi dữ liệu mất cân bằng, vì nó phạt mô hình bỏ qua lớp thiểu số.

F1 Score vs Accuracy — Khi Nào Dùng Cái Nào?

Accuracy trả lời câu hỏi “Mô hình đoán đúng bao nhiêu phần trăm?”. F1 Score trả lời “Mô hình cân bằng giữa chính xác và đầy đủ như thế nào?”.

Khi dữ liệu cân bằng, accuracy là chỉ số tốt. Khi dữ liệu mất cân bằng, accuracy lừa bạn, và F1 Score nói thật.

Mẹo nhỏ: nếu accuracy và F1 chênh lệch nhiều, đó là dấu hiệu dữ liệu của bạn đang mất cân bằng. Khoảng cách giữa hai con số càng lớn, mức độ mất cân bằng càng nghiêm trọng.

Lời Ngắn

F1 Score là cầu nối giữa Precision và Recall, buộc mô hình phải tốt ở cả hai phía. Nó không thay thế được sự hiểu biết về bài toán, nhưng là điểm khởi đầu tốt khi bạn cần một thước đo công bằng, đặc biệt với dữ liệu mất cân bằng.

Nếu bạn vừa đọc bài về Precision & RecallConfusion Matrix, thì F1 Score chính là mảnh ghép tiếp theo để bạn đánh giá mô hình một cách trọn vẹn hơn.

ThienLv

Mình là Thien, người tạo ra blog này. Ban ngày làm marketing, ban đêm cày tiền online và chơi với AI. Blog này là nơi mình ghi lại những gì mình thử qua — tool nào xịn, chiến thuật nào chạy được, cái gì thất bại. Mình không giỏi nhất, nhưng mình thích chia sẻ thật. Chill với một ly cafe đá là lý tưởng nhất.

Xem tất cả bài viết →

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *