Matriks kebingungan di sklearn
Jika Anda melihat ini:
>>> y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
>>> y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
>>> confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"])
array([[2, 0, 0],
[0, 0, 1],
[1, 0, 2]])
Saya kira baris pertama dari array berarti "semut yang diprediksi" dan kolom pertama adalah "sebenarnya adalah semut" kolom kedua adalah "sebenarnya adalah burung" dll.
Jadi baris pertama kolom pertama 2 saya baca seperti "prediksi semut, adalah semut", baris pertama kolom kedua 0 yang saya baca sebagai "semut didahului burung" adalah 0 yang cocok, dan kolom ketiga "prediksi semut adalah kucing" adalah 0 tetapi harus menjadi 1.
Apa yang saya lakukan salah saat memahami matriks kebingungan.
Contoh lainnya adalah ini
>>> from sklearn.metrics import confusion_matrix
>>> y_true = [2, 0, 2, 2, 0, 1]
>>> y_pred = [0, 0, 2, 2, 0, 2]
>>> confusion_matrix(y_true, y_pred)
array([[2, 0, 0],
[0, 0, 1],
[1, 0, 2]])
Dimana bahkan tidak jelas, apa urutan kelas.
Sumber: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html
edit : Kecuali jika ditukar. Baris pertama adalah "adalah semut" bukan "semut yang diprediksi". Hanya yang di wikipedia sistem adalah baris itu adalah prediksi.
Jawaban
Anda hanya bingung sebenarnya dan prediksi. Setiap baris mewakili nilai sebenarnya dari elemen berbeda dalam larik dan kolom mewakili nilai prediksi dari mereka. Itu adalah,
- Baris pertama: Ada 2 semut , dan 2 sampel diperkirakan semut .
- Baris detik: Ada 1 ekor burung dan 1 sampel diperkirakan kucing .
- Baris ketiga: Ada 3 kucing , 1 sampel diprediksi semut , 2 sampel diprediksi sebagai kucing .