Cách tính độ chính xác và thu hồi trong ma trận nhầm lẫn 3 x 3


12
                  Predicted
                    class
               Cat  Dog Rabbit
  Actual class
           Cat   5    3      0
           Dog   2    3      1
        Rabbit   0    2     11

Làm cách nào tôi có thể tính toán độ chính xác và thu hồi để dễ dàng tính điểm F1. Ma trận nhầm lẫn thông thường là kích thước 2 x 2. Tuy nhiên, khi nó trở thành 3 x 3, tôi không biết cách tính chính xác và thu hồi.

Câu trả lời:


19

Nếu bạn đánh vần các định nghĩa về độ chính xác (còn gọi là PPV giá trị tiên đoán dương) và gọi lại (hay còn gọi là độ nhạy), bạn sẽ thấy rằng chúng liên quan đến một lớp độc lập với bất kỳ lớp nào khác:

Nhớ lại hoặc lão hóa là tỷ lệ các trường hợp được xác định chính xác là thuộc về lớp c trong số tất cả các trường hợp thực sự thuộc về lớp c .
(Cho chúng ta có một trường hợp thực sự thuộc về " c ", xác suất dự đoán điều này là chính xác là bao nhiêu?)

Giá trị tiên đoán chính xác hoặc dương PPV là tỷ lệ các trường hợp được xác định chính xác là thuộc về lớp c trong số tất cả các trường hợp phân loại tuyên bố rằng chúng thuộc về lớp c .
Nói cách khác, trong số những trường hợp được dự đoán thuộc về lớp c , phần nào thực sự thuộc về lớp c ? (Đưa ra dự đoán " c ", xác suất chính xác là bao nhiêu?)

NPV giá trị tiên đoán âm của những trường hợp được dự đoán không thuộc về lớp c , phần nào thực sự không thuộc về lớp c ? (Đưa ra dự đoán "không phải c ", xác suất chính xác là bao nhiêu?)

Vì vậy, bạn có thể tính toán độ chính xác và thu hồi cho mỗi lớp học của bạn. Đối với các bảng nhầm lẫn nhiều lớp, đó là các phần tử đường chéo chia cho tổng hàng và cột của chúng, tương ứng:

sơ đồ tính toán

Nguồn: Beleites, C.; Salzer, R. & Sergo, V. Xác nhận các mô hình phân loại mềm bằng cách sử dụng tư cách thành viên lớp một phần: Một khái niệm mở rộng về độ nhạy & đồng. áp dụng để phân loại các mô tế bào hình sao, chemom Intell Lab Syst, 122, 12 - 22 (2013). DOI: 10.1016 / j.oololab.2012.12.003


Cám ơn rất nhiều. Tôi đã hiểu sự tương tự được mô tả trong giải pháp của bạn. Tôi sẽ đọc giấy. Tôi sẽ chấp nhận điều này như một câu trả lời. Tôi không hiểu PPV VÀ NPV. Vui lòng giải thích khái niệm này dưới dạng đồ họa vì Sens và Spec đã được giải thích và tôi sẽ chấp nhận câu trả lời của bạn.
dùng22149

3

Bằng cách giảm dữ liệu xuống các lựa chọn bắt buộc (phân loại) và không ghi lại liệu có bất kỳ "cuộc gọi gần" nào không, bạn có được ước tính thống kê chính xác tối thiểu thông tin tối thiểu, ngoài việc bí mật giả định một hàm tiện ích / mất / chi phí lạ và sử dụng các ngưỡng tùy ý . Sẽ tốt hơn nhiều nếu sử dụng thông tin tối đa, bao gồm xác suất thành viên của lớp và không phải là lựa chọn bắt buộc.


1

Cách đơn giản nhất là không sử dụng nhầm lẫn_matrix, Sử dụng phân loại numport (), nó sẽ cung cấp cho bạn mọi thứ bạn cần, chúc mừng ...

Chỉnh sửa:
đây là định dạng cho nhầm lẫn_matrix ():
[[TP, FN]
[FP, TN]]
Và báo cáo phân loại cung cấp tất cả điều này


Rằng nếu bạn đang sử dụng python ///
Omkaar.K

0

Nếu bạn chỉ đơn giản muốn kết quả, lời khuyên của tôi là đừng suy nghĩ quá nhiều và sử dụng các công cụ theo ý của bạn. Đây là cách bạn có thể làm điều đó trong Python;

import pandas as pd
from sklearn.metrics import classification_report

results = pd.DataFrame(
    [[1, 1],
     [1, 2],
     [1, 3],
     [2, 1],
     [2, 2],
     [2, 3],
     [3, 1],
     [3, 2],
     [3, 3]], columns=['Expected', 'Predicted'])

print(results)
print()
print(classification_report(results['Expected'], results['Predicted']))

Để có được đầu ra sau

   Expected  Predicted
0         1          1
1         1          2
2         1          3
3         2          1
4         2          2
5         2          3
6         3          1
7         3          2
8         3          3

             precision    recall  f1-score   support

          1       0.33      0.33      0.33         3
          2       0.33      0.33      0.33         3
          3       0.33      0.33      0.33         3

avg / total       0.33      0.33      0.33         9

0

Sau đây là một ví dụ về ma trận nhầm lẫn nhiều lớp giả sử nhãn lớp của chúng tôi là A, B và C

A / P A B C Tổng
A 10 3 4 17
B 2 12 6 20
C 6 3 9 18

Tổng hợp 18 18 19 55

Bây giờ chúng tôi tính toán ba giá trị cho Chính xác và Nhớ lại từng giá trị và gọi chúng là Pa, Pb và Pc; và tương tự Ra, Rb, Rc.

Chúng ta biết Độ chính xác = TP / (TP + FP), do đó, đối với Pa thật dương tính sẽ là A thực tế được dự đoán là A, tức là 10, phần còn lại của hai ô trong cột đó, cho dù đó là B hay C, tạo ra dương tính giả. Vì thế

Pa = 10/18 = 0,55 Ra = 10/17 = 0,59

Bây giờ độ chính xác và thu hồi cho lớp B là Pb và Rb. Đối với lớp B, dương thực sự là B thực tế được dự đoán là B, đó là ô chứa giá trị 12 và phần còn lại của hai ô trong cột đó tạo ra dương tính giả, vì vậy

Pb = 12/18 = 0,67 Rb = 12/20 = 0,6

Tương tự Pc = 9/19 = 0,47 Rc = 9/18 = 0,5

Hiệu suất tổng thể của bộ phân loại sẽ được xác định theo Độ chính xác trung bình và Thu hồi trung bình. Đối với điều này, chúng tôi nhân giá trị chính xác cho mỗi lớp với số lượng phiên bản thực tế cho lớp đó, sau đó thêm chúng và chia chúng với tổng số phiên bản. Giống ,

Độ chính xác trung bình = (0,55 * 17 + 0,67 * 20 + 0,47 * 18) / 55 = 31,21 / 55 = 0,57 Thu hồi trung bình = (0,59 * 17 + 0,6 * 20 + 0,5 * 18) / 55 = 31,03 / 55 = 0,56

Tôi hy vọng nó sẽ giúp

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.