Confusion Matrix dalam Machine Learning: One Stop Solution Anda



Artikel ini berfokus pada Confusion Matrix, yang merupakan salah satu aspek terpenting dari Algoritma Machine Learning yang digunakan untuk mengevaluasi keakuratannya.

Di , kami biasanya memiliki 2 jenis kasus penggunaan, , dan masalah. Confusion Matrix membantu dalam menghitung akurasi model klasifikasi yang secara tidak langsung membantu kita untuk mendeskripsikan kinerja model klasifikasi. Ini adalah langkah paling penting saat mengevaluasi model. Saya akan membahas topik-topik berikut dalam artikel ini:

1. Apa itu Confusion Matrix?





string split beberapa pembatas java

2. Akurasi dan Komponen Confusion Matrix

3. Presisi, Perolehan, dan F-Measure



4. Membuat Confusion Matrix dengan menggunakan Python dan Sklearn

Apa itu Confusion Matrix?

Matriks kebingungan adalah ringkasan perbandingan hasil yang diprediksi dan hasil aktual dalam kasus penggunaan masalah klasifikasi apa pun. Ringkasan perbandingan sangat diperlukan untuk menentukan performa model setelah dilatih dengan beberapa data pelatihan. Accuracy-Confusion-MatrixUntuk kasus penggunaan klasifikasi biner, Confusion Matrix adalah matriks 2x2 seperti yang ditunjukkan di bawah ini
Prediksi Nilai Kelas 1 TELUR: 1 Prediksi Nilai Kelas 2 TELUR: 0
Nilai Kelas 1 Aktual

TELUR: 1

TP (Benar Positif) FN (Negatif Palsu)
Nilai Kelas 2 yang Sebenarnya



TELUR: 0

FP (Positif Palsu) TN (Benar Negatif)

Dari gambar di atas:
Kita punya,

  • Nilai aktual Kelas 1 = 1 yang mirip dengan nilai Positif dalam hasil biner.
  • Nilai aktual Kelas 2 = 0 yang mirip dengan nilai negatif dalam hasil biner.

Indeks sisi kiri dari matriks kebingungan pada dasarnya menunjukkan Nilai Aktual dan kolom atas menunjukkan Nilai Prediksi.

Ada berbagai komponen yang ada saat kita membuat matriks konfusi. Komponennya disebutkan di bawah ini

Positif (P): Hasil yang diprediksi adalah Positif (Contoh: Gambar seekor kucing)

Negatif (N): hasil prediksi adalah Negatif (Contoh: Gambar bukan kucing)

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

Benar Negatif (TN): Di sini TN menunjukkan prediksi dan nilai sebenarnya adalah 0 (Salah)

False Negative (FN): Di sini FN menunjukkan nilai prediksi adalah 0 (Negatif) dan Nilai sebenarnya adalah 1. Di sini kedua nilai tidak cocok. Oleh karena itu, ini adalah Negatif Palsu.

Positif Palsu (PP): Di sini FP menunjukkan nilai yang diprediksi adalah 1 (Positif) dan nilai sebenarnya adalah 0. Di sini sekali lagi kedua nilai tidak cocok. Oleh karena itu, False Positive.

Akurasi dan Komponen Confusion Matrix

Setelah matriks konfusi dibuat dan kita menentukan semua nilai komponennya, maka menjadi cukup mudah bagi kita untuk menghitung keakuratannya. Jadi, mari kita lihat komponen untuk memahami ini lebih baik.
  • Akurasi Klasifikasi

Dari rumus di atas, penjumlahan TP (True Positive) dan TN (True Negative) merupakan hasil prediksi yang benar. Karenanya untuk menghitung akurasi dalam persentase, kami membagi dengan semua komponen lainnya. Namun, ada beberapa masalah dalam akurasi dan kami tidak dapat sepenuhnya bergantung padanya.

Mari kita pertimbangkan bahwa dataset kita benar-benar tidak seimbang. Dalam Skenario ini akurasi 98% bisa baik atau buruk berdasarkan rumusan masalah. Karenanya kami memiliki beberapa istilah kunci lagi yang akan membantu kami memastikan keakuratan yang kami hitung. Istilahnya seperti yang diberikan di bawah ini:

  • TPR (True Positive Rate) atau Sensitivitas:

Rasio True Positive yang juga dikenal sebagai Sensitivitas mengukur persentase True Positive sehubungan dengan Total Actual Positives yang ditunjukkan oleh (TP + FN)

Prediksi Nilai Kelas 1 TELUR: 1 Prediksi Nilai Kelas 2 TELUR: 0 Total
Nilai Kelas 1 Aktual

TELUR: 1

TP (Benar Positif) FN (Negatif Palsu) Total Positif Aktual
Nilai Kelas 2 yang Sebenarnya

TELUR: 0

FP (Positif Palsu)TN (Benar Negatif)Total Negatif Aktual
TPR = True Positive / (True Positive + False Negative
  • TNR (True Negative Rate) atau Specificity:

True Negative Rate atau Specificity mengukur proporsi negatif aktual sehubungan dengan Total Negatif

Prediksi Nilai Kelas 1 TELUR: 1 Prediksi Nilai Kelas 2 TELUR: 0 Total
Nilai Kelas 1 Aktual

TELUR: 1

TP (Benar Positif)FN (Negatif Palsu)Total Positif Aktual
Nilai Kelas 2 yang Sebenarnya

TELUR: 0

FP (Positif Palsu) TN (Benar Negatif) Total Negatif Aktual

TNR = True Negative / (True Negative + False Positive)

  • Tingkat Positif Palsu (FPR):

False Positive Rate adalah persentase Predicted False Positive (FP) terhadap Jumlah Total dari Hasil Positif yang Diprediksi (PB + PP).

Prediksi Nilai Kelas 1 TELUR: 1 Prediksi Nilai Kelas 2 TELUR: 0
Sebenarnya Nilai Kelas 1 EG: 1 TP (Benar Positif) FN (Negatif Palsu)
Sebenarnya Nilai Kelas 2 EG: 0 FP (Positif Palsu) TN (Benar Negatif)
Jumlah Total Prediksi Positif Jumlah Total Prediksi Negatif
FPR = False Positive / (True Positive + False Positive)
  • Rasio Negatif Palsu (FNR):

False Negative Rate adalah persentase Predicted False Negative (FP) terhadap Jumlah Total Hasil Negatif yang Diprediksi (TN + FN).

apa yang merupakan turunan dari kelas di java
Prediksi Nilai Kelas 1 TELUR: 1 Prediksi Nilai Kelas 2 TELUR: 0
Sebenarnya Nilai Kelas 1 EG: 1TP (Benar Positif) FN (Negatif Palsu)
Sebenarnya Nilai Kelas 2 EG: 0FP (Positif Palsu) TN (Benar Negatif)
Jumlah Total Prediksi Positif Jumlah Total Prediksi Negatif
FNR = False Negative / (False Negative + True Negative)

Presisi, Perolehan, dan F-Measure

  • Penarikan:

Penarikan kembali mirip dengan True Positive Rate dan merupakan rasio dari Jumlah total nilai positif yang diprediksi dengan benar (TP) terhadap semua Nilai Positif.

  • Presisi:

Presisi pada dasarnya menunjukkan semua poin yang diprediksi oleh model sebagai positif dan berapa persen darinya yang sebenarnya Positif.

Precision dan Recall merupakan hasil metrik yang berfokus pada kelas positif seperti yang ditunjukkan dari rumus di atas.

  • F-Measure

Jadi F-Measure adalah teknik yang menggabungkan teknik Precision dan Recall dan menggunakan Harmonic Mean sebagai pengganti Arithmetic Mean, yang karenanya nilai-nilai ekstrem dihukum. F-measure juga disebut sebagai F1- skor dan diberikan oleh rumus di bawah ini.

Mari kita pertimbangkan sebuah contoh dan lihat bagaimana kita dapat menghitung Akurasi, Presisi, Perolehan, dan skor F1.

N = 165 Prediksi YA Prediksi NO
YA sebenarnya TP = 150 FN = 10
NO saat ini FP = 20 TN = 100
    • Akurasi = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
    • Perolehan = TP / (TP + FN) = 150 / (150 + 10) = 0.93
    • Presisi: TP / (TP + FP) = 150 / (150 + 20) = 0.88

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

Membuat Confusion Matrix dengan menggunakan Python dan Sklearn

Sekarang kita akan melihat contoh bagaimana kita dapat membuat matriks konfusi menggunakan python bersama dengan pustaka sklearn.

satu. Awalnya kita akan membuat beberapa daftar data aktual dan prediksi untuk mengecek keakuratannya seperti gambar di bawah ini

# Skrip Python untuk pembuatan matriks kebingungan. aktual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] data_prediksi = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Kita perlu mengimpor matriks konfusi dari pustaka sklearn seperti yang ditunjukkan di bawah ini:

dari sklearn.metrics, impor confusion_matrix

3. Selanjutnya, kita akan membuat matriks konfusi seperti yang ditunjukkan di bawah ini:

final_results = confusion_matrix (data_aktual, data_prediksi)

Empat. Sekarang kita dapat melanjutkan dan menghitung akurasi dengan mengimpor perpustakaan seperti yang ditunjukkan di bawah ini:

dari sklearn.metrics impor akurasi_skor akurasi = skor_akurasi (data_tual, data_prediksi)

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

dari sklearn.metrics impor klasifikasi_report laporan = klasifikasi_report (aktual_data, prediksi_data)

Di bawah ini adalah Kode Lengkapnya:

aktual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] data_prediksi = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1, actual_data, predict_data) print (akurasi) print (laporan)

matrix

Jadi, dengan ini, kita sampai pada akhir artikel ini. Saya harap semua Kebingungan Anda tentang Confusion Matrix sekarang terselesaikan.

Edureka's membantu Anda mendapatkan keahlian dalam berbagai algoritme pembelajaran mesin seperti regresi, pengelompokan, pohon keputusan, hutan acak, Naïve Bayes, dan Q-Learning. Pembelajaran Mesin menggunakan Pelatihan Python ini memaparkan Anda pada konsep Statistik, Rangkaian Waktu, dan berbagai kelas algoritme pembelajaran mesin seperti algoritme yang diawasi, tidak diawasi, dan diperkuat. Sepanjang Kursus Sertifikasi Ilmu Data, Anda akan menyelesaikan studi kasus kehidupan nyata di Media, Perawatan Kesehatan, Media Sosial, Penerbangan, SDM.