Khu vực dưới đường cong ROC hoặc khu vực dưới đường cong PR cho dữ liệu mất cân bằng?


16

Tôi có một số nghi ngờ về việc sử dụng thước đo hiệu suất nào, khu vực dưới đường cong ROC (TPR là chức năng của FPR) hoặc khu vực dưới đường cong thu hồi chính xác (độ chính xác là chức năng thu hồi).

Dữ liệu của tôi bị mất cân bằng, tức là số lượng các trường hợp tiêu cực lớn hơn nhiều so với các trường hợp tích cực.

Tôi đang sử dụng dự đoán đầu ra của weka, một mẫu là:

inst#,actual,predicted,prediction
1,2:0,2:0,0.873
2,2:0,2:0,0.972
3,2:0,2:0,0.97
4,2:0,2:0,0.97
5,2:0,2:0,0.97
6,2:0,2:0,0.896
7,2:0,2:0,0.973

Và tôi đang sử dụng thư viện rROC và ROCR.


Bạn đã quên đề cập đến những gì bạn muốn đạt được với bất kỳ đường cong nào.
Marc Claesen

1
Lưu ý: có vẻ như bạn muốn chọn giữa các đường cong ROC (TPR là chức năng của FPR trên toàn bộ phạm vi hoạt động) và đường cong PR (độ chính xác so với thu hồi trên toàn bộ phạm vi hoạt động). Thuật ngữ như " AUC-ROC của độ chính xác và thu hồi " rất sai lệch, vì vậy tôi đã chỉnh sửa nó. Xin vui lòng hoàn nguyên nó nếu tôi hiểu lầm.
Marc Claesen

Câu trả lời:


27

Câu hỏi khá mơ hồ vì vậy tôi sẽ giả định rằng bạn muốn chọn một thước đo hiệu suất phù hợp để so sánh các mô hình khác nhau. Để có cái nhìn tổng quan về sự khác biệt chính giữa các đường cong ROC và PR, bạn có thể tham khảo bài viết sau: Mối quan hệ giữa đường cong chính xác-thu hồi và đường cong ROC của Davis và Goadrich .

Để trích dẫn Davis và Goadrich:

Tuy nhiên, khi xử lý các bộ dữ liệu bị sai lệch, các đường cong Chính xác-Thu hồi (PR) đưa ra một bức tranh nhiều thông tin hơn về hiệu suất của thuật toán.

ROC vẽ đồ thị FPR vs TPR. Để rõ ràng hơn: PR đường cong độ chính xác của âm mưu so với thu hồi (FPR) hoặc rõ ràng hơn: recall=TP

FPR= =FPFP+TN,TPR= =TPTP+FN.
recmộttôitôi= =TPTP+FN= =TPR,precTôiSTôion= =TPTP+FP

Độ chính xác bị ảnh hưởng trực tiếp bởi cân bằng lớp (im) do bị ảnh hưởng, trong khi TPR chỉ phụ thuộc vào dương. Đây là lý do tại sao các đường cong ROC không thu được các hiệu ứng như vậy.FP

Đường cong thu hồi chính xác là tốt hơn để làm nổi bật sự khác biệt giữa các mô hình cho các tập dữ liệu mất cân bằng cao. Nếu bạn muốn so sánh các mô hình khác nhau trong cài đặt mất cân bằng, khu vực dưới đường cong PR có thể sẽ thể hiện sự khác biệt lớn hơn so với khu vực dưới đường cong ROC.

Điều đó nói rằng, các đường cong ROC là phổ biến hơn nhiều (ngay cả khi chúng không phù hợp). Tùy thuộc vào đối tượng của bạn, các đường cong ROC có thể là ngôn ngữ chung vì vậy sử dụng chúng có lẽ là sự lựa chọn an toàn hơn. Nếu một mô hình hoàn toàn thống trị một mô hình khác trong không gian PR (ví dụ: luôn có độ chính xác cao hơn toàn bộ phạm vi thu hồi), thì mô hình đó cũng sẽ chiếm ưu thế trong không gian ROC. Nếu các đường cong giao nhau trong một trong hai không gian, chúng cũng sẽ giao nhau trong không gian khác. Nói cách khác, các kết luận chính sẽ tương tự cho dù bạn sử dụng đường cong nào.


Quảng cáo không biết xấu hổ . Một ví dụ khác, bạn có thể xem một trong những bài báo của tôi trong đó tôi báo cáo cả hai đường cong ROC và PR trong một thiết lập không cân bằng. Hình 3 chứa các đường cong ROC và PR cho các mô hình giống hệt nhau, cho thấy rõ sự khác biệt giữa hai mô hình. Để so sánh khu vực theo PR với khu vực theo ROC, bạn có thể so sánh các bảng 1-2 (AUPR) và bảng 3-4 (AUROC) trong đó bạn có thể thấy rằng AUPR cho thấy sự khác biệt lớn hơn nhiều giữa các mô hình riêng lẻ so với AUROC. Điều này nhấn mạnh sự phù hợp của các đường cong PR một lần nữa.


Cảm ơn đã giải thích. Câu hỏi bây giờ, tại sao đường cong PR có nhiều thông tin hơn cho dữ liệu mất cân bằng? Đối với tôi, ROC nên có nhiều thông tin hơn vì nó xem xét cả TPR và FPR.
MM


1
@MA chỉnh sửa câu trả lời của tôi để làm rõ.
Marc Claesen

1
Tôi nghĩ rằng có một sự pha trộn trong phương trình thu hồi giữa TPR và FPR, phải không?
Simon Thordal

Bạn nói đúng, nên là: gọi lại = ... = TPR, không phải FPR. @Marc Claesen, tôi nghĩ chỉ bạn mới có thể thay đổi điều đó, bởi vì khi tôi cố gắng thực hiện, tôi đã thông báo rằng: "Chỉnh sửa nên có ít nhất 6 ký tự", vì vậy không thể sửa lỗi chính tả nhỏ, chẳng hạn như lỗi này.
ponadto

6

ROC vẽ đồ thị TPR trên trục y và FPR trên trục x, nhưng nó phụ thuộc vào những gì bạn muốn miêu tả. Trừ khi có một số lý do để vẽ nó khác nhau trong lĩnh vực nghiên cứu của bạn, các đường cong TPR / FPR ROC là tiêu chuẩn để hiển thị sự đánh đổi hoạt động và tôi tin rằng chúng sẽ được đón nhận nhiều nhất.

Chính xác và Recall một mình có thể gây hiểu nhầm bởi vì nó không tính đến những tiêu cực thực sự.


0

Tôi xem xét sự khác biệt lớn nhất trong ROC và PR AUC, thực tế là ROC đang xác định mô hình của bạn có thể "tính toán" mức độ tích cực VÀ lớp tiêu cực như thế nào khi PR AUC thực sự chỉ nhìn vào lớp tích cực của bạn. Vì vậy, trong một tình huống lớp cân bằng và nơi bạn quan tâm đến cả các lớp tiêu cực và tích cực, số liệu ROC AUC hoạt động rất tốt. Khi bạn có một tình huống mất cân bằng, nên sử dụng PR AUC, nhưng hãy nhớ rằng nó chỉ xác định mức độ mô hình của bạn có thể "tính toán" lớp tích cực!

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.