Hệ số tương quan Matthews với đa lớp


9

Hệ số tương quan Matthews ( ) là một phép đo để đo lường chất lượng của phân loại nhị phân ([Wikipedia] [1]). được đưa ra để phân loại nhị phân sử dụng dương tính thật ( ), dương tính giả ( ), âm tính giả ( ) và giá trị âm ( ) đúng như dưới đây:MCCMCCTPFPFNTN

MCC= =TP×TN-FP×FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)

Tôi có một trường hợp mà tôi cần phải phân loại ba lớp khác nhau, Một , B , và C . Tôi có thể áp dụng công thức trên để tính MCC cho trường hợp nhiều lớp sau khi tính các giá trị TP , TN , FPFN cho mỗi lớp như dưới đây không?

TP= =TPMột+TPB+TPC;TN= =TNMột+TNB+TNC;FP= =FPMột+FPB+FPC;FN= =FNMột+FNB+FNC;


Hệ số tương quan Matthews (mà đối với phân loại nhị phân đơn giản là tương quan Phi hoặc Pearson) trở thành cái được gọi là tương quan Rk cho phân loại đa lớp. Hai công thức của nó được trích dẫn trong phần "So sánh phân vùng" tài liệu của tôi trên trang web của tôi.
ttnphns

Câu trả lời:


5

Vâng, nói chung, bạn có thể. Cách tiếp cận này bạn muốn sử dụng đôi khi được gọi là "Trung bình vi mô": đầu tiên, tổng tất cả TNs, FPs, v.v. cho mỗi lớp, sau đó tính toán thống kê quan tâm.

Một cách khác để kết hợp số liệu thống kê cho các lớp riêng lẻ là sử dụng cái gọi là "Trung bình vĩ mô": trước tiên, bạn tính toán số liệu thống kê cho các lớp riêng lẻ (A so với A, B so với B, v.v.), sau đó tính trung bình họ

Bạn có thể có một cái nhìn ở đây để biết thêm một số chi tiết. Trang nói về Chính xác và Nhớ lại, nhưng tôi tin rằng nó áp dụng cho hệ số của Matthew cũng như các thống kê khác dựa trên các bảng dự phòng.


4

Kỹ thuật trung bình vĩ mô hoạt động tốt cho độ chính xác, độ nhạy và độ đặc hiệu. Nhưng khi tôi thử nó cho MCC thì nó không cho kết quả đúng. Để biết thêm chi tiết về tính toán MCC đa lớp, xem:

  1. Jurman G, Riccadonna S, Furlanello C (2012) " So sánh các biện pháp lỗi MCC và CEN trong dự đoán đa lớp ". PLoS MỘT 7 (8): e41882. doi: 10.1371 / tạp chí.pone.0041882
  2. Jurman, Giuseppe và Cesare Furlanello. "Một quan điểm thống nhất cho các biện pháp hiệu suất trong dự đoán đa lớp." bản in sẵn arXiv arXiv: 1008.2908 (2010).

Các mã sau đây làm việc cho tôi:

% the confusion matrix at input is given by matrix cm_svm_array
mcc_numerator=0;count=1;
% limits klm=1 TO n SUM(ckk.cml - clk.ckm)
for k = 1:1:length(cm_svm_array)
    for l=1:1:length(cm_svm_array)
        for m=1:1:length(cm_svm_array)
          mcc_numerator1(count) = (cm_svm_array(k,k) *cm_svm_array(m,l))-
                                  (cm_svm_array(l,k)*cm_svm_array(k,m))
          mcc_numerator=mcc_numerator+mcc_numerator1(count)
          count=count+1;
        end
    end
end

mcc_denominator_1=0 ; count=1;
for k=1:1:length(cm_svm_array)
     mcc_den_1_part1=0;
    for l=1:1:length(cm_svm_array)
        mcc_den_1_part1= mcc_den_1_part1+cm_svm_array(l,k);
    end
    mcc_den_1_part2=0;
    for f=1:1:length(cm_svm_array)
        if f ~=k
          for g=1:1:length(cm_svm_array)
            mcc_den_1_part2= mcc_den_1_part2+cm_svm_array(g,f);
          end
        end
    end
    mcc_denominator_1=(mcc_denominator_1+(mcc_den_1_part1*mcc_den_1_part2));
end

mcc_denominator_2=0; count=1;
for k=1:1:length(cm_svm_array)
     mcc_den_2_part1=0;
    for l=1:1:length(cm_svm_array)
        mcc_den_2_part1= mcc_den_2_part1+cm_svm_array(k,l);
    end
    mcc_den_2_part2=0;
    for f=1:1:length(cm_svm_array)
        if f ~=k
          for g=1:1:length(cm_svm_array)
            mcc_den_2_part2= mcc_den_2_part2+cm_svm_array(f,g);
          end
        end
    end
    mcc_denominator_2=(mcc_denominator_2+(mcc_den_2_part1*mcc_den_2_part2));
end

mcc = (mcc_numerator)/((mcc_denominator_1^0.5)*(mcc_denominator_2^0.5))


0

MCC được thiết kế để phân loại nhị phân.

Nếu bạn muốn có một phép đo tương tự của trình phân loại, bạn có thể thử Cohen's Kappa, nó có thể được áp dụng cho ma trận nhầm lẫn đa lớ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.