Dataset Confusion Matrix

From OnnoWiki
Jump to navigation Jump to search

Berikut adalah contoh kode Python untuk menghitung dan menampilkan confusion matrix menggunakan pustaka `scikit-learn`. Confusion matrix adalah alat evaluasi yang penting dalam masalah klasifikasi untuk memahami performa model dengan membandingkan prediksi dengan nilai aktual.

import numpy as np
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
import matplotlib.pyplot as plt

# Contoh data: nilai aktual dan prediksi
y_true = np.array([1, 0, 1, 1, 0, 1, 0, 0, 1, 0])  # Nilai aktual
y_pred = np.array([1, 0, 1, 0, 0, 1, 0, 1, 1, 0])  # Prediksi model

# Menghitung confusion matrix
cm = confusion_matrix(y_true, y_pred)

# Menampilkan confusion matrix dalam bentuk teks
print("Confusion Matrix:\n", cm)

# Menampilkan confusion matrix dalam bentuk grafik
disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=[0, 1])
disp.plot(cmap=plt.cm.Blues)
plt.title('Confusion Matrix')
plt.show()

Penjelasan kode:

1. Import Library:

  • `numpy` untuk manipulasi array.
  • `confusion_matrix` dan `ConfusionMatrixDisplay` dari `sklearn.metrics` untuk menghitung dan menampilkan confusion matrix.
  • `matplotlib.pyplot` untuk visualisasi.

2. Data Contoh:

  • `y_true` adalah array yang berisi nilai aktual dari kelas (misalnya, 0 untuk negatif dan 1 untuk positif).
  • `y_pred` adalah array yang berisi prediksi model terhadap data yang sama.

3. Menghitung Confusion Matrix:

  • Menggunakan fungsi `confusion_matrix(y_true, y_pred)` untuk menghitung matriks yang membandingkan prediksi dengan nilai aktual.

4. Menampilkan Confusion Matrix:

  • Mencetak confusion matrix dalam bentuk teks untuk melihat nilai numeriknya.
  • Menggunakan `ConfusionMatrixDisplay` untuk menampilkan confusion matrix dalam bentuk grafik dengan warna biru (`cmap=plt.cm.Blues`).

Hasil yang Diharapkan:

  • Output Teks:

Confusion Matrix:

[[3 1]
 [1 5]]


Artinya:

  • True Negatives (TN): 3 (Model memprediksi negatif dengan benar)
  • False Positives (FP): 1 (Model memprediksi positif padahal seharusnya negatif)
  • False Negatives (FN): 1 (Model memprediksi negatif padahal seharusnya positif)
  • True Positives (TP): 5 (Model memprediksi positif dengan benar)
  • Output Grafik:

Sebuah plot matriks konfusi dengan label dan warna yang memudahkan interpretasi. Pastikan Anda telah menginstal pustaka yang diperlukan sebelum menjalankan kode ini:

pip install numpy scikit-learn matplotlib

Kode ini memberikan gambaran dasar tentang cara menghitung dan menampilkan confusion matrix dalam Python menggunakan `scikit-learn`. Anda dapat menyesuaikan `y_true` dan `y_pred` sesuai dengan data dan model Anda sendiri.

Pranala Menarik