Dataset Confusion Matrix
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.