Makine Öğrenmesi - Sınıflandırma İçin Model Değerlendirmesi
Confusion Matrix
Yazar:
Enes ASAN
Yayın tarihi :16-Oca-22
Confusion Matrix (Karışıklık Matrisi), bir sınıflandırma algoritmasının doğruluğunu ölçmek için oluşturulan matrisdir.
Kullanabilmek için kütüphanesinin içeri aktarılması gerekmektedir.
from sklearn.metrics import confusion_matrix
Söz dizimi: confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None)
- y_true, gerçek değerlerin olduğu listeyi temsil eder.
- y_pred, tahmin edilen değerlerin olduğu listeyi temsil eder.
- normalize, matrisi normalleştirir. 3 farklı değer alır: "true", "pred", "all". Varsayılan olarak None'dir.
Aşağıda bulunan binary(ikili) sınıflandırma da 2x2 matris oluşturacaktır. ([[TP,FN],[FP,TN]])
Örnek-1: 2x2 Confusion Matrix oluşturalım.
#x: gerçek değerler
#y: tahmin değerleri
x=["Kedi","Kedi","Köpek","Köpek","Kedi"]
y=["Kedi","Köpek","Köpek","Kedi","Köpek"]
confusion_matrix(x,y)
Çıktı:
array([[1, 2], [1, 1]], dtype=int64)
Örnek-2: 3x3 Confusion Matrix oluşturalım.
#x: gerçek değerler
#y: tahmin değerleri
x=["Kedi","Kedi","Köpek","Köpek","Kedi","Fare"]
y=["Kedi","Köpek","Köpek","Kedi","Köpek","Fare"]
confusion_matrix(x,y,normalize="all")
Çıktı:
array([[0.16666667, 0. , 0. ], [0. , 0.16666667, 0.33333333], [0. , 0.16666667, 0.16666667]])
Örnek-3: nxn Confusion Matrix oluşturalım
#x: gerçek değerler
#y: tahmin değerleri
x=[1,2,5,7,8,9,4,2,1,3,6]
y=[2,3,4,5,8,9,4,3,1,3,6]
confusion_matrix(x,y)
Çıktı:
array([[1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1]], dtype=int64)