Matriks Kekeliruan dalam Pembelajaran Mesin: Penyelesaian Sehenti Anda



Artikel ini memberi tumpuan kepada Confusion Matrix, yang merupakan salah satu aspek terpenting dari mana-mana Algoritma Pembelajaran Mesin yang digunakan untuk menilai ketepatannya.

Dalam , biasanya kita mempunyai 2 jenis kes penggunaan yang berbeza, , dan masalah. Confusion Matrix membantu dalam mengira ketepatan model klasifikasi yang secara tidak langsung membantu kita menerangkan prestasi model klasifikasi. Ini adalah langkah yang paling penting ketika menilai model. Saya akan membahas topik berikut dalam artikel ini:

1. Apa itu Matriks Kekeliruan?





2. Ketepatan dan Komponen Matriks Kekeliruan

3. Ketepatan, Ingat dan F-Measure



4. Membuat Matriks Kekeliruan dengan menggunakan Python dan Sklearn

Apa itu Matriks Kekeliruan?

Matriks Kekeliruan adalah ringkasan perbandingan hasil yang diramalkan dan hasil sebenar dalam mana-mana kes penggunaan klasifikasi. Ringkasan perbandingan sangat diperlukan untuk menentukan prestasi model setelah dilatih dengan beberapa data latihan. Accuracy-Confusion-MatrixUntuk kes penggunaan klasifikasi binari, Confusion Matrix adalah matriks 2 × 2 seperti yang ditunjukkan di bawah
Nilai Kelas 1 yang diramalkan Cth: 1 Nilai Kelas 2 yang diramalkan Cth: 0
Nilai Kelas 1 Sebenar

Cth: 1

TP (Positif Benar) FN (Negatif Palsu)
Nilai Kelas 2 Sebenar



Cth: 0

FP (Positif Palsu) TN (Negatif Benar)

Dari rajah di atas:
Kami mempunyai,

kaedah system.exit akan menamatkan aplikasi.
  • Nilai Kelas 1 Sebenar = 1 yang serupa dengan Nilai positif dalam hasil binari.
  • Nilai Kelas 2 Sebenar = 0 yang serupa dengan nilai negatif dalam hasil binari.

Indeks sebelah kiri matriks kekeliruan pada dasarnya menunjukkan Nilai Sebenar dan lajur atas menunjukkan Nilai Ramalan.

Terdapat pelbagai komponen yang wujud ketika kita membuat matriks kekeliruan. Komponen tersebut dinyatakan di bawah

Positif (P): Hasil yang diramalkan adalah Positif (Contoh: Gambar adalah kucing)

Negatif (N): hasil yang diramalkan adalah Negatif (Contoh: Gambar bukan kucing)

Positif Benar (TP): Di sini TP pada dasarnya menunjukkan ramalan dan nilai sebenarnya adalah 1 (Betul)

Negatif Betul (TN): Di sini TN menunjukkan ramalan dan nilai sebenarnya adalah 0 (Salah)

Negatif Palsu (FN): Di sini FN menunjukkan nilai ramalan adalah 0 (Negatif) dan nilai Sebenar adalah 1. Di sini kedua-dua nilai tidak sepadan. Oleh itu ia adalah Negatif Palsu.

Positif Palsu (FP): Di sini FP menunjukkan nilai yang diramalkan adalah 1 (Positif) dan nilai sebenarnya adalah 0. Di sini sekali lagi kedua-dua nilai tidak sepadan. Oleh itu Positif Palsu.

Ketepatan dan Komponen Matriks Kekeliruan

Setelah matriks kekeliruan dibuat dan kita menentukan semua nilai komponen, menjadi sangat mudah bagi kita untuk mengira ketepatannya. Oleh itu, mari kita lihat komponen untuk memahami perkara ini dengan lebih baik.
  • Ketepatan Pengelasan

Dari formula di atas, jumlah TP (True Positif) dan TN (True Negative) adalah hasil ramalan yang betul. Oleh itu untuk mengira ketepatan dalam peratusan, kita membahagikan dengan semua komponen lain. Walau bagaimanapun, terdapat beberapa masalah dalam ketepatan dan kita tidak boleh bergantung sepenuhnya.

Mari kita anggap bahawa set data kami sama sekali tidak seimbang. Dalam Senario ini, ketepatan 98% boleh menjadi baik atau buruk berdasarkan pernyataan masalah. Oleh itu, kami mempunyai beberapa istilah penting yang akan membantu kami untuk memastikan ketepatan yang kami kirakan. Syaratnya adalah seperti di bawah:

  • TPR (Kadar Positif Sebenar) atau Sensitiviti:

Kadar Positif Benar yang juga dikenal sebagai Sensitiviti mengukur peratusan Positif Benar berkenaan dengan Jumlah Positif Sebenar yang ditunjukkan oleh (TP + FN)

Nilai Kelas 1 yang diramalkan Cth: 1 Nilai Kelas 2 yang diramalkan Cth: 0 Jumlah
Nilai Kelas 1 Sebenar

Cth: 1

TP (Positif Benar) FN (Negatif Palsu) Jumlah Positif Sebenar
Nilai Kelas 2 Sebenar

Cth: 0

FP (Positif Palsu)TN (Negatif Benar)Jumlah Negatif Sebenar
TPR = Positif Benar / (Positif Benar + Negatif Palsu
  • TNR (Kadar Negatif Sebenar) atau Kekhususan:

Kadar Negatif Benar atau Kekhususan mengukur bahagian negatif sebenar berkenaan dengan Jumlah Negatif

Nilai Kelas 1 yang diramalkan Cth: 1 Nilai Kelas 2 yang diramalkan Cth: 0 Jumlah
Nilai Kelas 1 Sebenar

Cth: 1

TP (Positif Benar)FN (Negatif Palsu)Jumlah Positif Sebenar
Nilai Kelas 2 Sebenar

Cth: 0

FP (Positif Palsu) TN (Negatif Benar) Jumlah Negatif Sebenar

TNR = Negatif Benar / (Negatif Benar + Positif Palsu)

  • Kadar Positif Palsu (FPR):

Kadar Positif Palsu adalah peratusan Positif Palsu yang Diramalkan (FP) kepada Jumlah Jumlah Hasil Positif yang Diramalkan (TP + FP)

Nilai Kelas 1 yang diramalkan Cth: 1 Nilai Kelas 2 yang diramalkan Cth: 0
Nilai Kelas 1 Sebenar EG: 1 TP (Positif Benar) FN (Negatif Palsu)
Nilai Kelas 2 Sebenar EG: 0 FP (Positif Palsu) TN (Negatif Benar)
Jumlah Positif yang Diharapkan Jumlah Keseluruhan Ramalan Negatif
FPR = Positif Palsu / (Positif Benar + Positif Palsu)
  • Kadar Negatif Palsu (FNR):

False Negative Rate adalah peratusan Ramalan False Negative (FP) kepada Jumlah No Hasil Ramalan Negatif (TN + FN).

Nilai Kelas 1 yang diramalkan Cth: 1 Nilai Kelas 2 yang diramalkan Cth: 0
Nilai Kelas 1 Sebenar EG: 1TP (Positif Benar) FN (Negatif Palsu)
Nilai Kelas 2 Sebenar EG: 0FP (Positif Palsu) TN (Negatif Benar)
Jumlah Positif yang Diharapkan Jumlah Keseluruhan Ramalan Negatif
FNR = Negatif Palsu / (Negatif Palsu + Negatif Benar)

Precision, Recall, dan F-Measure

  • Ingat semula:

Ingatan serupa dengan Nilai Positif Sebenar dan nisbah jumlah Jumlah nilai positif yang diramalkan dengan betul (TP) kepada semua Nilai Positif.

  • Ketepatan:

Precision pada asasnya menunjukkan semua titik yang diramalkan positif dan berapa peratus dari mereka sebenarnya Positif.

apakah pemboleh ubah contoh

Precision and Recall adalah hasil metrik yang memfokus pada kelas positif seperti yang ditunjukkan dari formula di atas.

  • F-Ukur

Oleh itu, F-Measure adalah teknik yang menggabungkan teknik Precision dan Recall dan ia menggunakan Harmonic Mean sebagai ganti Arithmetic Mean yang biasa, kerana nilai-nilai ekstrem dihukum. Ukuran F juga disebut sebagai skor F1 dan diberikan oleh formula di bawah.

Mari kita pertimbangkan satu contoh dan melihat bagaimana kita dapat mengira ketepatan, ketepatan, ingatan dan skor F1.

N = 165 Ramalkan YA Ramalan TIDAK
YA sebenarnya TP = 150 FN = 10
TIADA semasa FP = 20 TN = 100
    • Ketepatan = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
    • Ingat semula = TP / (TP + FN) = 150 / (150 + 10) = 0.93
    • Ketepatan: TP / (TP + FP) = 150 / (150 + 20) = 0.88

  • F-mengukur = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0.93 * 0.88) / (0.93 + 0.88) = 0.90

Membuat Matriks Kekeliruan dengan menggunakan Python dan Sklearn

Sekarang kita akan melihat contoh bagaimana kita dapat membuat matriks kekeliruan menggunakan python bersama dengan perpustakaan sklearn.

satu. Pada mulanya, kami akan membuat beberapa senarai data sebenar dan yang diramalkan akan memeriksa ketepatan seperti yang ditunjukkan di bawah

# Skrip Python untuk penghasilan matriks kekeliruan. sebenarnya_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] ramalan_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Kita perlu mengimport matriks kekeliruan dari perpustakaan sklearn seperti yang ditunjukkan di bawah:

dari sklearn.metrics import confusion_matrix

3. Seterusnya, kami akan membuat matriks kekeliruan seperti yang ditunjukkan di bawah:

final_results = confusion_matrix (sebenarnya_data, ramalan_data)

Empat. Sekarang kita dapat terus maju dan menghitung ketepatannya dengan mengimport perpustakaan seperti yang ditunjukkan di bawah:

dari sklearn.metrik import ketepatan_score ketepatan = ketepatan_score (sebenarnya_data, ramalan_data)

5. Akhirnya, kami menghitung skor F1 atau F- Measure seperti yang ditunjukkan di bawah:

dari sklearn.metrics import classification_report report = classification_report (sebenarnya_data, ramalan_data)

Berikut adalah Kod Lengkap:

sebenarnya_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] ramalan_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] dari sklearn.metrics import confusion_matrix final_results = confusion_matrix (sebenarnya_data, ramalan_data) cetakan (final_results) dari sklearn.metrics import ketepatan_score ketepatan = ketepatan_score (sebenar_data, ramalan_data) dari sklearn.metrics import classification_report report = klasifikasi sebenar_data, ramalan_data) cetakan (ketepatan) cetakan (laporan)

matrix

Oleh itu, dengan ini, kita akan mengakhiri artikel ini. Saya harap semua Kekeliruan anda mengenai Confusion Matrix kini dapat diselesaikan.

Edureka's membantu anda memperoleh kepakaran dalam pelbagai algoritma pembelajaran mesin seperti regresi, pengelompokan, pohon keputusan, hutan rawak, Naïve Bayes dan Q-Learning. Pembelajaran Mesin ini dengan menggunakan Latihan Python memperlihatkan kepada anda konsep Statistik, Siri Masa dan pelbagai kelas algoritma pembelajaran mesin seperti algoritma penyeliaan, pengawasan dan pengukuhan. Sepanjang Kursus Persijilan Sains Data, anda akan menyelesaikan kajian kes kehidupan sebenar di Media, Penjagaan Kesihatan, Media Sosial, Penerbangan, Sumber Manusia.