Ngưỡng tối ưu F1 là gì? Làm thế nào để tính toán nó?


13

Tôi đã sử dụng hàm h2o.glm () trong R để đưa ra bảng dự phòng trong kết quả cùng với các thống kê khác. Bảng dự phòng được đứng đầu " Tab chéo dựa trên ngưỡng tối ưu F1 "

Wikipedia định nghĩa Điểm F1 hoặc Điểm F là giá trị trung bình hài hòa của độ chính xác và thu hồi. Nhưng không chính xác và Thu hồi chỉ được tìm thấy khi kết quả của các giá trị dự đoán của hồi quy logistic (ví dụ) được chuyển thành nhị phân bằng cách sử dụng một điểm cắt.

Bây giờ bằng cách cắt tôi nhớ, mối liên hệ giữa Điểm F1 và Ngưỡng tối ưu là gì. Làm thế nào là ngưỡng tối ưu được tính? Ngưỡng tối ưu F1 được tính như thế nào?

Xin lỗi nếu tôi đã bỏ lỡ điều gì đó, tôi mới biết số liệu thống kê ở đây.

Câu trả lời:


21

Tôi thực sự đã viết bài báo đầu tiên của tôi về máy học về chủ đề này. Trong đó, chúng tôi đã xác định rằng khi trình phân loại của bạn đưa ra các xác suất được hiệu chỉnh (vì chúng nên cho hồi quy logistic), ngưỡng tối ưu là khoảng 1/2 điểm F1 mà nó đạt được. Điều này cung cấp cho bạn một số trực giác. Ngưỡng tối ưu sẽ không bao giờ nhiều hơn 0,5. Nếu F1 của bạn là 0,5 và ngưỡng là 0,5, thì bạn nên cải thiện F1 bằng cách hạ thấp ngưỡng. Mặt khác, nếu F1 là 0,5 và ngưỡng là 0, có lẽ bạn nên tăng ngưỡng để cải thiện F1.

Bài báo với tất cả các chi tiết và thảo luận về lý do tại sao F1 có thể hoặc không phải là một biện pháp tốt để tối ưu hóa (trong cả trường hợp đơn và đa nhãn) có thể được tìm thấy ở đây:

https://arxiv.org/abs/1402.1892

Xin lỗi vì phải mất 9 tháng để bài viết này được tôi chú ý. Hy vọng rằng bạn vẫn tìm thấy thông tin hữu ích!


1
F1 có thể> 1 không? Nếu bạn có 90% A, & 10% ~ A, tôi sẽ nghĩ bạn muốn có một ngưỡng> 0,5.
gung - Phục hồi Monica

1
Xin chào @gung. Không, theo định nghĩa F1 = 2 * p * r / (p + r) và, giống như tất cả các biện pháp F-beta, có phạm vi [0,1]. Mất cân bằng lớp học không làm thay đổi phạm vi điểm F1. Đối với một số ứng dụng, bạn thực sự có thể muốn dự đoán được thực hiện với ngưỡng cao hơn 0,5. Cụ thể, điều này sẽ xảy ra bất cứ khi nào bạn nghĩ rằng dương tính giả tồi tệ hơn âm tính giả. Nhưng một ngưỡng như vậy sẽ không tối ưu hóa điểm F1. Để hiểu tại sao, điểm F1 được phát triển trong bối cảnh truy xuất thông tin. Trong các cài đặt này, lớp dương là rất hiếm và điển hình là dương tính giả không tốn kém như âm tính giả.
Zachary Chase Lipton

@ZacharyChaseLipton Giả sử tôi có một bộ dữ liệu được chia thành train / val / test. Đối với một bộ phân loại đưa ra xác suất, tôi sẽ chọn ngưỡng F1 tối ưu trên bộ xác thực bằng cách kiểm tra ngưỡng mang lại F1 tốt nhất. Điều này có vẻ hợp lý khi chọn ngưỡng có vẻ tương tự như chọn mô hình tốt nhất. Đó có phải là điều đúng đắn?
cướp biển

Hơn nữa, giả sử tôi có một bộ phân loại không xuất ra xác suất (như một SVM). Làm thế nào bạn sẽ tối ưu hóa F1 trên bộ xác nhận sau đó?
cướp biển

Tôi đã thực hiện nó thành một câu hỏi: stats.stackexchange.com/questions/283931/...
pir
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.