Karışıklık matrisini kullanarak çok sınıflı sınıflandırma için kesinlik ve hatırlamayı nasıl hesaplarsınız?


92

Çok sınıflı bir problem için kesinliği nasıl hesaplayabileceğimi ve bir karmaşa matrisi kullanarak nasıl hatırlayacağımı merak ediyorum. Spesifik olarak, bir gözlem ancak en olası sınıfa / etikete atanabilir. Hesaplamak istiyorum:

  • Hassas = TP / (TP + FP)
  • Hatırlama = TP / (TP + FN)

Her sınıf için ve sonra mikro-ortalama F-ölçüsünü hesaplayın.


Bu belge , bir sınıflandırma modelinin değerlendirilmesi - Hassasiyet ve hatırlama bana ne anlatıyor? Gelen Compumine karışıklık matrisine basit bir giriş ve ondan türetilen önlemleri sağlar. Karışıklık matrisi, hassasiyet, hatırlama, özgüllük ve doğruluk oluşturmaya yardımcı olur.
Jayran Choopan,

4
cevabı burada bul. Çok iyi bir açıklama youtube.com/watch?v=FAr2GmWNbT0

Compumine bağlantısı öldü.
Trenton

Çok sınıflı bir durumda, satır boyunca (eksen = 0) hatırlama ve sütun boyunca (eksen = 1) hassasiyet olduğunu anlıyorum. rxnlp.com/…
MD ZIA ULLAH

Yanıtlar:


69

İki hipotezli bir durumda, karışıklık matrisi genellikle:

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

notunuza benzer bir şey kullandığım yer:

  • TP = gerçek pozitif (H1’i, gerçekte H1’i ilan ederken),
  • FN = yanlış negatif (aslında H1 olduğunda, H0’yı ilan edin),
  • FP = yanlış pozitif
  • TN = gerçek negatif

Ham verilerden, tablodaki değerler tipik olarak test verisi üzerindeki her oluşum için sayım olacaktır. Bundan, ihtiyacınız olan miktarları hesaplayabilmelisiniz.

Düzenle

Çok sınıflı problemlerin genelleştirilmesi, karışıklık matrisinin satırları / sütunları üzerinde toplanmaktır. Matrisin yukarıdaki gibi yönlendirildiği göz önüne alındığında, verilen bir matris satırının "gerçek" için belirli bir değere karşılık geldiği göz önünde bulundurulur:

Precision i=MiijMji

Recall i=MiijMij

Yani hassas biz olayların kesir dir, doğru beyan algoritma ilan tüm örnekleri dışarı . Tersine, hatırlama biz doğru beyan olayların bölümüdür dünyanın devletin doğrudur durumların hepsinde dışarı .i i iiiii


1
Benim durumumda, 10+ sınıf var, bu yüzden FN'nin H (i) sınıfını bildiren toplam sayısı anlamına geleceğini düşünüyorum, i! = 1; ve aynı FP?
daiyue,

Merhaba, TP + FP = 0 ve eğer karışıklık matrisindeki bazı gerçek sınıf için TP + FN = 0 ise, Precision and Recall için değerlerin ne olacağını merak ediyorum.
daiyue,

iAlgoritmanın bildirdiği bir örnek yoksa sınıf için kesinlik tanımlanmaz i. iTest setinde sınıf bulunmuyorsa, sınıf için geri çağırma tanımsızdır i.
Dave,

Son hedefim Makro F Ölçüsünü hesaplamak, bu yüzden her bir sınıf için i hassasiyetine ve geri çağırma değerlerine ihtiyacım var; peki yukarıdaki iki durum i sınıfında belirirse, Macro-F ölçüsünü nasıl hesaplayabilirim? Özellikle, Fi'nin değeri nedir ve i sınıfı M sınıflarından biri olarak sayılır, M'deki element sayısının Macro F ölçüsünü hesaplamak için formülün paydası olarak sayılacağı anlamına gelir.
daiyue,

1
Ağlama, fikrinizi daha net bir şekilde açıklayabilir misiniz?
daiyue,

31

Çok sınıflı sorunlar için bu ölçümlere bakarak iyi bir özet kağıdı:

  • Sokolova, M., & Lapalme, G. (2009). Sınıflandırma görevleri için performans ölçümlerinin sistematik bir analizi. Bilgi İşlem ve Yönetimi, 45 , s. 427-437. ( pdf )

Özet okur:

Bu makale, Makine Öğrenimi sınıflandırma görevlerinin tamamında kullanılan, yani ikili, çoklu sınıf, çoklu etiketli ve hiyerarşik olarak kullanılan yirmi dört performans ölçüsünün sistematik bir analizini sunar. Her bir sınıflandırma görevi için, çalışma bir karışıklık matrisindeki bir dizi değişimin verinin spesifik özelliklerine ilişkindir. Daha sonra analiz, bir ölçümü değiştirmeyen bir karışıklık matrisindeki değişikliklerin türüne odaklanır, bu nedenle bir sınıflandırıcının değerlendirmesini korur (ölçüm değişmezliği). Sonuç, bir sınıflandırma problemindeki tüm ilgili etiket dağıtım değişikliklerine göre ölçüt değişmezliği taksonomisidir. Bu resmi analiz, önlemlerin değişmezlik özelliklerinin sınıflandırıcıların daha güvenilir bir şekilde değerlendirilmesine yol açtığı uygulama örnekleri ile desteklenir.


2
Siteye Hoşgeldiniz @JamesTaylor. Okuyucuların ihtiyaç duyup duymadıklarına karar vermelerine yardımcı olmak için bağlantılı linkteki bilgilerin bir özetini vermeyi düşünebilir misiniz?
gung

8

Sklearn ve numpy kullanımı:

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)

Genel hassasiyet ve hatırlama önlemleri almak için,

np.mean(recall)
np.mean(precision)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.