Confused Matrix untuk Evaluasi Kinerja Sistem Klasifikasi: Teori dan Ilustrasi
Tidak sedikit diantara mahasiswa ilmu komputer yang sudah berpuas diri hanya karena berhasil merancang bangun sistem klasifikasi menggunakan algoritma tertentu. Apalagi jika algoritma sudah ditanamkan dalam program. Seakan-akan proses penelitian sudah selesai. Misalnya saja ada Algoritma K-Neareast Neighbor, Naive Bayes, Decision Tree yang populer digunakan mahasiswa. Padahal ada tahap penting yang harus dilalui setelahnya, yakni mengevaluasi kinerja sistem klasifikasi.
Ada juga yang memelas, "Pak, jangankan bikin evaluasi sistem, ngoding algoritmanya saja susah, Pak!"
"Tenangkan dirimu wahai anak muda! Jangan risau dan gundah gulana. Bikin evaluasinya lebih mudah daripada ngoding."
Mengapa mengetahui kinerja sistem klasifikasi ini penting? Tidak dapat dipungkiri bahwa sistem klasifikasi tidak bisa bekerja 100% benar. Jika memang terjadi hasil klasifikasi adalah 100% benar, ada dua kemungkinan: 1) Algoritmanya sangat cerdas, atau 2) dataset-nya yang sengaja di-setting agar hasilnya bagus. Berdasarkan pengalaman selama ini, saya lebih condong memilih kemungkinan yang kedua. Karena dataset yang rill diambil dari pengamatan lapangan, memunculkan banyak problema. Khususnya sistem klasifikasi yang tidak mampu bekerja 100% benar.
Umumnya, kinerja sistem klasifikasi bisa diukur menggunakan confused matrix. Istilah confused matrix ini memang keren. Namun kalau dialihbahasakan, menjadi rancu dan membingungkan. Confused matrix artinya matriks kebingungan. Lha wong matriksnya saja kebingungan, maka pantas jika mahasiswa mengeluh kebingungan jika menggunakan confused matrix.
Selain saya menyarankan mahasiswa untuk selalu sedia Paramex, saya juga berikhtiar untuk menuliskan penjelasan yang disertai contoh. Semoga mengobati kebingungan.
Confused matrix merupakan tabel yang mencatat hasil kerja klasifikasi. Bisa saja sistem klasifikasi memiliki lebih dari dua kelas. Artikel ini hanya membahas evaluasi kinerja sistem klasifikasi untuk klasifikasi dua kelas, true (1) dan false (0). Ilustrasi confusion matrix-nya ditunjukkan pada Gambar 1.
Gambar 1. Confusion matrix untuk klasifikasi 2 kelas |
Sebelum membahas Gambar 1 lebih jauh, kita refresh ingatan dahulu. Dataset, pastinya minimal dibagi menjadi data latih (training) dan data uji (testing). Nah, sebelum data uji dijadikan masukan sistem, sebelumnya pasti memiliki nilai actual atau nilai sebenarnya. Yang nilai kelasnya sudah pasti kebenarannya, entah true (1) atau false (0). Kemudian, data uji secara khusus digunakan untuk menguji kinerja sistem hingga memperoleh hasil klasifikasi, inilah yang disebut nilai predicted. Hasilnya juga true (1) atau false (0).
Bagaimana hubungan antara actual dan predicted? Alhamdulillah, baik-baik saja.
Hubungan antara actual dan predicted dinyatakan dalam empat keadaan:
- True Positive (TP) adalah nilai positif benar, artinya nilai prediksi sama dengan nilai sebenarnya.
- False Positive (FP) adalah nilai positif palsu, artinya nilai sebenarnya adalah "0" tetapi diprediksi sebagai "1".
- True Negative (TN) adalah nilai negatif benar, berarti nilai sebenarnya adalah "0" dan sistem memprediksinya juga sama.
- False Negative (FN) adalah nilai negatif palsu, artinya nilai sebenarnya adalah "1" tetapi diprediksi "0".
Gambar 2. Sistem deteksi Covid-19 menggunakan Algoritma K-NN |
Kemudian, data uji 20 citra CT-Scan paru-paru positif Covid-19 serta 20 citra CT-Scan paru-paru negatif Covid-19 diujicobakan dalam sistem klasifikasi. Berarti total ada 40 data uji.
Gambar 3. Hasil ujicoba sistem klasifikasi |
Gambar 4. Analisis TP, FP, TN, FN |
Langkah berikutnya adalah merekapitulasi jumlah TP, FP, TN dan FN. Lihat hasilnya di Gambar 5 ini:
Gambar 6. Hasil evaluasi kinerja sistem klasifikasi |
Post a Comment