Làm thế nào để bạn tính toán độ chính xác và thu hồi để phân loại đa lớp bằng cách sử dụng ma trận nhầm lẫn?


92

Tôi tự hỏi làm thế nào để tính toán độ chính xác và thu hồi bằng cách sử dụng ma trận nhầm lẫn cho một vấn đề phân loại nhiều lớp. Cụ thể, một quan sát chỉ có thể được gán cho lớp / nhãn có thể xảy ra nhất của nó. Tôi muốn tính toán:

  • Độ chính xác = TP / (TP + FP)
  • Nhớ lại = TP / (TP + FN)

cho mỗi lớp, và sau đó tính toán số đo trung bình vi mô.


Đây docx , Đánh giá một mô hình phân loại - Có gì không chính xác và gọi lại cho tôi biết? , từ Compumine cung cấp một giới thiệu đơn giản về ma trận nhầm lẫn và các biện pháp bắt nguồn từ nó. Nó giúp tạo ra ma trận nhầm lẫn, chính xác, thu hồi, tính cụ thể và độ chính xác.
Jayran Choopan

4
tìm câu trả lời ở đây Giải thích rất hay youtube.com/watch?v=FAr2GmWNbT0

Liên kết Compumine đã chết.
Trenton

Đối với trường hợp đa lớp, điều tôi hiểu rằng dọc theo các hàng (trục = 0) là thu hồi và dọc theo các cột (trục = 1) là độ chính xác. rxnlp.com/ Good
MD ZIA ULLAH

Câu trả lời:


69

Trong trường hợp 2 giả thuyết, ma trận nhầm lẫn thường là:

       | Declare H1  |  Declare H0 |
|Is H1 |    TP       |   FN        |
|Is H0 |    FP       |   TN        |

nơi tôi đã sử dụng một cái gì đó tương tự như ký hiệu của bạn:

  • TP = true dương (khai báo H1 khi, trong thực tế, H1),
  • FN = âm tính giả (khai báo H0 khi, trong thực tế, H1),
  • FP = dương tính giả
  • TN = âm tính thật

Từ dữ liệu thô, các giá trị trong bảng thường sẽ là tổng số cho mỗi lần xuất hiện trên dữ liệu thử nghiệm. Từ đó, bạn sẽ có thể tính toán số lượng bạn cần.

Biên tập

Việc khái quát hóa cho các vấn đề đa lớp là tính tổng các hàng / cột của ma trận nhầm lẫn. Cho rằng ma trận được định hướng như trên, nghĩa là một hàng nhất định của ma trận tương ứng với giá trị cụ thể cho "sự thật", chúng ta có:

Precision i=MiijMji

Recall i=MiijMij

Đó là, độ chính xác là một phần của các sự kiện trong đó chúng tôi đã khai báo chính xác trong số tất cả các trường hợp thuật toán khai báo . Ngược lại, nhớ lại là một phần của các sự kiện mà chúng tôi đã tuyên bố chính xác trong số tất cả các trường hợp trong đó sự thật của trạng thái là .i i iiiii


1
Trong trường hợp của tôi, có hơn 10 lớp, vì vậy tôi đoán FN sẽ có nghĩa là tổng số khai báo của lớp H (i), i! = 1; và giống nhau là FP?
daiyue

Xin chào, tôi tự hỏi những giá trị nào sẽ có cho Chính xác và Thu hồi, nếu TP + FP = 0 và TP + FN = 0 cho một số lớp thực tế trong ma trận nhầm lẫn.
daiyue

Độ chính xác cho lớp ikhông được xác định nếu không có trường hợp thuật toán khai báo i. Việc thu hồi cho lớp ikhông được xác định nếu tập kiểm tra không bao gồm lớp i.
Dave

Mục tiêu cuối cùng của tôi là tính toán Biện pháp Macro F, vì vậy tôi cần các giá trị chính xác và gọi lại cho mỗi lớp i; vậy làm thế nào tôi có thể tính toán số đo Macro-F nếu hai trường hợp trên xuất hiện trong một số lớp i? Cụ thể, giá trị của Fi là gì và lớp i được tính là một trong các lớp M, số lượng phần tử trong M sẽ được tính là mẫu số của công thức tính số đo Macro F.
daiyue

1
Sry, bạn có thể giải thích ý tưởng của bạn rõ ràng hơn?
daiyue

31

Bài viết tóm tắt hay, xem xét các số liệu này cho các vấn đề đa lớp:

  • Sokolova, M., & Lapalme, G. (2009). Một phân tích có hệ thống các biện pháp thực hiện cho các nhiệm vụ phân loại. Quản lý và quản lý thông tin, 45 , tr. 427-437. ( pdf )

Bản tóm tắt có nội dung:

Bài viết này trình bày một phân tích có hệ thống gồm hai mươi bốn biện pháp hiệu suất được sử dụng trong toàn bộ các nhiệm vụ phân loại Machine Learning, nghĩa là nhị phân, đa lớp, đa nhãn và phân cấp. Đối với mỗi nhiệm vụ phân loại, nghiên cứu liên quan đến một tập hợp các thay đổi trong ma trận nhầm lẫn với các đặc điểm cụ thể của dữ liệu. Sau đó, phân tích tập trung vào loại thay đổi đối với ma trận nhầm lẫn không thay đổi thước đo, do đó, bảo toàn đánh giá của phân loại (đo bất biến). Kết quả là biện pháp phân loại bất biến đối với tất cả các thay đổi phân phối nhãn có liên quan trong một vấn đề phân loại. Phân tích chính thức này được hỗ trợ bởi các ví dụ về các ứng dụng trong đó tính chất bất biến của các biện pháp dẫn đến việc đánh giá phân loại đáng tin cậy hơn.


2
Chào mừng đến với trang web, @JamesTaylor. Bạn có phiền khi đưa ra một bản tóm tắt thông tin trong bài báo được liên kết để giúp người đọc quyết định xem đó có phải là thứ họ cần không và trong trường hợp liên kết bị chết?
gung

8

Sử dụng sklearn và numpy:

from sklearn.metrics import confusion_matrix
import numpy as np

labels = ...
predictions = ...

cm = confusion_matrix(labels, predictions)
recall = np.diag(cm) / np.sum(cm, axis = 1)
precision = np.diag(cm) / np.sum(cm, axis = 0)

Để có được các biện pháp tổng thể về độ chính xác và thu hồi, hãy sử dụng sau đó

np.mean(recall)
np.mean(precision)
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.