Lewati ke konten utama

Apa itu Confusion Matrix dalam Machine Learning? Alat Evaluasi Model Dijelaskan

Lihat bagaimana confusion matrix mengkategorikan prediksi model menjadi True Positive, False Positive, True Negative, dan False Negative. Teruskan membaca untuk memahami strukturnya, langkah perhitungan, dan kegunaannya untuk menangani data tidak seimbang dan analisis kesalahan.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Tahun ini merupakan tahun penuh inovasi di bidang data science, dengan kecerdasan buatan dan machine learning mendominasi berita utama. Meski kemajuan pada 2023 tak terbantahkan, penting untuk diingat bahwa banyak terobosan machine learning ini hanya mungkin berkat proses evaluasi yang tepat yang dilalui model. Praktisi data bertugas memastikan evaluasi dan proses yang akurat dilakukan untuk mengukur kinerja model machine learning. Ini bukan sekadar bermanfaat — ini sangat penting.

Jika Anda ingin menguasai ilmu data, artikel ini akan memandu Anda melalui langkah-langkah penting evaluasi model menggunakan confusion matrix, alat yang relatif sederhana namun kuat dan banyak digunakan dalam evaluasi model.

Mari kita selami dan pelajari lebih lanjut tentang confusion matrix.

Apa itu Confusion Matrix?

Confusion matrix adalah alat untuk mengevaluasi kinerja model yang direpresentasikan secara visual sebagai tabel. Ini memberi lapisan wawasan yang lebih dalam bagi praktisi data tentang performa, kesalahan, dan kelemahan model. Hal ini memungkinkan praktisi data untuk menganalisis modelnya lebih lanjut melalui penyetelan halus.

Struktur Confusion Matrix

Mari pelajari struktur dasar confusion matrix, dengan contoh mengidentifikasi email sebagai spam atau bukan spam.

  • True Positive (TP) - Model Anda memprediksi kelas positif. Misalnya, mengidentifikasi email spam sebagai spam.
  • True Negative (TN) - Model Anda memprediksi kelas negatif dengan benar. Misalnya, mengidentifikasi email biasa sebagai bukan spam.
  • False Positive (FP) - Model Anda keliru memprediksi kelas positif. Misalnya, mengidentifikasi email biasa sebagai spam.
  • False Negative (FN) - Model Anda keliru memprediksi kelas negatif. Misalnya, mengidentifikasi email spam sebagai email biasa.

Untuk benar-benar memahami konsep confusion matrix, lihat visualisasi di bawah ini:

Struktur confusion matrix

Struktur Dasar Confusion Matrix

Terminologi Confusion Matrix

Untuk memahami Confusion Matrix secara mendalam, penting untuk memahami metrik-metrik utama yang digunakan untuk mengukur kinerja model.

Mari kita definisikan metrik penting:

Akurasi

Akurasi mengukur jumlah klasifikasi yang benar dibagi dengan jumlah kasus keseluruhan.

Rumus akurasi untuk Confusion Matrix

Recall/Sensitivitas

Recall/Sensitivitas mengukur jumlah true positive dibagi dengan jumlah actual positive.

Rumus recall untuk Confusion Matrix

Presisi

Presisi mengukur jumlah true positive dibagi dengan jumlah predicted positive.

Rumus presisi untuk Confusion Matrix

Spesifisitas

Spesifisitas mengukur jumlah true negative dibagi dengan jumlah actual negative.

Rumus spesifisitas untuk Confusion Matrix

Skor F1

Skor F1 adalah satu metrik yang merupakan rata-rata harmonik dari presisi dan recall.

Rumus skor F1 untuk Confusion Matrix

Peran Confusion Matrix

Untuk lebih memahami confusion matrix, Anda harus memahami tujuannya dan mengapa alat ini banyak digunakan.

Saat mengukur kinerja model atau apa pun secara umum, orang cenderung berfokus pada akurasi. Namun, sangat bergantung pada metrik akurasi dapat mengarah pada keputusan yang keliru. Untuk memahaminya, kita akan membahas keterbatasan penggunaan akurasi sebagai metrik tunggal.

Keterbatasan akurasi sebagai metrik tunggal

Seperti didefinisikan di atas, akurasi mengukur jumlah klasifikasi yang benar dibagi dengan jumlah kasus keseluruhan. Namun, menggunakan metrik ini secara tunggal memiliki keterbatasan, seperti:

  • Bekerja dengan Data yang Tidak Seimbang: Tidak ada data yang datang dalam kondisi sempurna, dan penggunaan metrik akurasi harus dievaluasi berdasarkan daya prediksinya. Misalnya, bekerja dengan dataset di mana satu kelas jauh lebih dominan akan menyebabkan model mencapai tingkat akurasi yang lebih tinggi karena akan cenderung memprediksi kelas mayoritas.
  • Jenis Kesalahan: Memahami dan mempelajari kinerja model Anda dalam konteks tertentu akan membantu Anda menyetel dan meningkatkan performanya. Misalnya, membedakan jenis kesalahan melalui confusion matrix, seperti FP dan FN, akan memungkinkan Anda mengeksplorasi keterbatasan model.

Melalui keterbatasan ini, confusion matrix bersama beragam metrik menawarkan wawasan lebih rinci tentang cara meningkatkan kinerja model.

Manfaat confusion matrix

Seperti terlihat pada struktur dasar confusion matrix, prediksi dipecah menjadi empat kategori: True Positive, True Negative, False Positive, dan False Negative.

Rincian ini memberikan wawasan dan solusi berharga untuk meningkatkan kinerja model:

  • Mengatasi Data Tidak Seimbang: Seperti dibahas, menggunakan akurasi sebagai metrik tunggal memiliki keterbatasan saat menghadapi data yang tidak seimbang. Menggunakan metrik lain, seperti presisi dan recall, memungkinkan pandangan yang lebih seimbang dan representasi yang lebih akurat. Misalnya, false positive dan false negative dapat berakibat besar di sektor seperti Keuangan.
  • Pembedaan Jenis Kesalahan: Memahami berbagai jenis kesalahan yang dihasilkan model machine learning memberi pengetahuan tentang keterbatasan dan area yang perlu ditingkatkan.
  • Trade-off: Trade-off antara penggunaan metrik berbeda dalam Confusion Matrix penting karena saling memengaruhi. Misalnya, peningkatan presisi biasanya menyebabkan penurunan recall. Ini akan memandu Anda dalam meningkatkan performa model menggunakan pengetahuan dari nilai metrik yang terpengaruh.

Menghitung Confusion Matrix

Sekarang kita sudah memahami confusion matrix dasar, terminologi, dan kegunaannya, mari lanjut ke perhitungan confusion matrix secara manual, diikuti contoh praktis.

Menghitung confusion matrix secara manual

Berikut panduan langkah demi langkah untuk menghitung Confusion Matrix secara manual.

Definisikan luaran

Langkah pertama adalah mengidentifikasi dua kemungkinan luaran dari tugas Anda: Positif atau Negatif.

Mengumpulkan prediksi

Setelah kemungkinan luaran ditentukan, langkah berikutnya adalah mengumpulkan semua prediksi model, termasuk berapa kali model memprediksi setiap kelas dan kejadiannya.

Mengklasifikasikan luaran

Setelah semua prediksi dikumpulkan, langkah berikutnya adalah mengklasifikasikan luaran ke dalam empat kategori:

  • True Positive (TP)
  • True Negative (TN)
  • False Positive (FP)
  • False Negative (FN)

Buat matriks

Setelah luaran diklasifikasikan, langkah berikutnya adalah menyajikannya dalam tabel matriks, untuk dianalisis lebih lanjut menggunakan berbagai metrik.

Contoh praktis confusion matrix

Mari telusuri contoh praktis untuk mendemonstrasikan proses ini.

Melanjutkan contoh yang sama, yaitu mengidentifikasi email sebagai spam atau bukan spam, mari buat dataset hipotetis di mana spam adalah Positif dan bukan spam adalah Negatif. Kita memiliki data berikut:

  • Dari 200 email, 80 email sebenarnya spam di mana model dengan benar mengidentifikasi 60 di antaranya sebagai spam (TP).
  • Dari 200 email, 120 email bukan spam di mana model dengan benar mengidentifikasi 100 di antaranya sebagai bukan spam (TN).
  • Dari 200 email, model keliru mengidentifikasi 20 email non-spam sebagai spam (FP).
  • Dari 200 email, model melewatkan 20 email spam dan mengidentifikasinya sebagai non-spam (FN).

Pada titik ini, kita telah mendefinisikan luaran dan mengumpulkan data; langkah selanjutnya adalah mengklasifikasikan luaran ke dalam empat kategori:

  • True Positive: 60
  • True Negative: 100
  • False Positive: 20
  • False Negative: 20

Langkah berikutnya adalah mengubahnya menjadi Confusion Matrix:

Aktual / Prediksi

Spam (Positif)

Bukan Spam (Negatif)

Spam (Positif)

60 (TP)

20 (FN)

Bukan Spam (Negatif)

20 (FP)

100 (TN)

Jadi, apa yang diberitahukan Confusion Matrix kepada kita?

  • True Positive dan True Negative menunjukkan prediksi yang akurat.
  • False Positive menunjukkan model keliru memprediksi kelas positif.
  • False Negative menunjukkan model gagal mengidentifikasi dan memprediksi kelas positif.

Menggunakan confusion matrix ini, kita dapat menghitung metrik yang berbeda: Akurasi, Recall/Sensitivitas, Presisi, Spesifisitas, dan Skor F1.

Keluaran metrik confusion matrix

Keluaran metrik confusion matrix

Presisi vs. Recall

Anda mungkin bertanya-tanya mengapa skor F1 mencakup presisi dan recall dalam rumusnya. Metrik skor F1 sangat penting saat menangani data tidak seimbang atau ketika Anda ingin menyeimbangkan trade-off antara presisi dan recall.

Presisi mengukur ketepatan prediksi positif. Ini menjawab pertanyaan ‘saat model memprediksi TRUE, seberapa sering itu benar?’. Presisi khususnya penting ketika biaya false positive tinggi.

Recall atau sensitivitas mengukur jumlah actual positive yang diidentifikasi dengan benar oleh model. Ini menjawab pertanyaan ‘ketika kelas sebenarnya TRUE, seberapa sering classifier benar?’.

Recall penting ketika melewatkan instance positif (FN) terbukti jauh lebih buruk daripada salah memberi label instance negatif sebagai positif.

  • Penggunaan presisi: False positive dapat berdampak serius. Misalnya, model klasifikasi yang digunakan di sektor keuangan salah mengidentifikasi transaksi sebagai penipuan. Dalam skenario seperti ini, metrik presisi penting.
  • Penggunaan recall: Mengidentifikasi semua kasus positif bisa menjadi keharusan. Misalnya, model klasifikasi yang digunakan di bidang medis gagal mendiagnosis dengan benar dapat berakibat buruk. Dalam skenario di mana mengidentifikasi semua kasus positif secara benar sangat penting, metrik recall penting.

Confusion Matrix Menggunakan Scikit-learn di Python

Untuk memahaminya lebih jauh, mari buat confusion matrix menggunakan Scikit-learn di Python, dengan klasifikator Random Forest.

Langkah pertama adalah mengimpor pustaka yang diperlukan dan membangun dataset sintetis Anda.

# Import Libraries
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns

# Synthetic Dataset
X, y = make_classification(n_samples=1000, n_features=20,
                           n_classes=2, random_state=42)

# Split into Training and Test Sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

Langkah berikutnya adalah melatih model menggunakan random forest classifier sederhana

# Train the Model
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

Seperti pada contoh praktis, kita perlu mengklasifikasikan luaran dan mengubahnya menjadi confusion matrix. Kita melakukan ini dengan terlebih dahulu melakukan prediksi pada data uji lalu menghasilkan Confusion Matrix:

# Predict on the Test Data
y_pred = model.predict(X_test)

# Generate the confusion matrix
cm = confusion_matrix(y_test, y_pred)

Sekarang kita ingin menghasilkan representasi visual dari confusion matrix:

# Create a Confusion Matrix
plt.figure(figsize=(8, 8))
sns.heatmap(cm, annot=True, fmt='d', cmap='Greens')
plt.title('Confusion Matrix')
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()

Ini adalah keluarannya:

Contoh confusion matrix

Keluaran Confusion Matrix Random Forest

Tada 🎉 Anda telah berhasil membuat Confusion Matrix pertama Anda menggunakan Scikit-learn!

Kesimpulan

Dalam artikel ini, kita telah membahas definisi Confusion Matrix, terminologi penting seputar alat evaluasi, serta keterbatasan dan pentingnya berbagai metrik. Mampu menghitung Confusion Matrix secara manual penting bagi basis pengetahuan data science Anda, begitu pula mengeksekusinya menggunakan pustaka seperti Scikit-learn.

Jika Anda ingin menyelami lebih jauh Confusion Matrix, latih confusion matrix di R dengan Understanding Confusion Matrix in R. Dalami lagi melalui kursus Model Validation in Python, di mana Anda akan mempelajari dasar-dasar validasi model, teknik validasi, dan mulai membuat model tervalidasi dan berkinerja tinggi.


Nisha Arya Ahmed's photo
Author
Nisha Arya Ahmed
LinkedIn

Pembelajar yang antusias, ingin menerapkan kemampuan teknis data science dan keterampilan interpersonal yang kuat untuk meningkatkan dan memperluas pengetahuan teknologi serta kemampuan menulis saya.

Saya beralih ke dunia Data Science dari Farmakologi, mengikuti bootcamp selama 9 bulan bersama Lambda School. 

Saya tertarik untuk menerapkan dan meningkatkan keterampilan pengodean teknis dan penulisan saya dalam Machine Learning dan Artificial Intelligence. ​

Saat ini, saya adalah Data Scientist dan Penulis Teknis Lepas.

Topik
Machine Learning
Kecerdasan Buatan

Pelajari Lebih Lanjut Tentang Confusion Matrix

Kursus

Validasi Model di Python

4 jam
31.3K
Pelajari dasar-dasar validasi model, teknik validasi, dan mulailah membuat model yang tervalidasi dan berkinerja tinggi.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya