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.