Confusion Matrix

Machine Learning merupakan salah satu cabang dari disiplin ilmu kecerdasan buatan (artificial intelligence) yang membahas bagaimana sistem dibangun berdasarkan pada data.  Jadi machine learning merupakan proses komputer untuk belajar dari data (learn from data).  Jika tidak ada data, komputer tidak akan bisa belajar. Salah satu teknik aplikasi pada machine learning adalah supervised learning. Klasifikasi merupakan supervised learning, yang merupakan model prediksi dimana hasil prediksinya bersifat diskrit.  Bagaimana mengukur performa  dari model klasifikasi yang digunakan ? Jawaban sederhana nya adalah membandingkan nilai aktual dengan nilai prediksi.  Confusion Matrix adalah pengukuran performa untuk masalah klasifikasi machine learning dimana keluaran dapat berupa dua kelas atau lebih.  Confusion Matrix adalah tabel dengan 4 kombinasi berbeda dari nilai prediksi dan nilai aktual. Ada empat istilah yang merupakan representasi hasil proses klasifikasi pada confusion matrix yaitu True Positif, True Negatif, False Positif, dan False Negatif.  Mari kita pahami apa itu True Positif, False Positif, False Negatif, dan True Negatif  dalam analogi kehamilan (dapat dilihat pada Gambar 1).

Gambar 1. Contoh Confusion Matrix

sumber : https://towardsdatascience.com/understanding-confusion-matrix-a9ad42dcfd62

  • True Positive (TP) :
    Interpretasi: Anda memprediksi positif dan itu benar.
    Anda memprediksikan bahwa seorang wanita hamil dan wanita tsb memang benar hamil.
  • True Negative (TN):
    Interpretasi: Anda memprediksi negatif dan itu benar.
    Anda memprediksikan bahwa seorang pria tidak hamil dan benar ya pria kan tidak mungkin hamil :D.
  • False Positive (FP): (Kesalahan Tipe 1)
    Interpretasi: Anda memprediksi positif dan itu salah.
    Anda memprediksikan bahwa seorang pria hamil tetapi tidak mungkin pria bisa hamil :D.
  • False Negative (FN): (Kesalahan Tipe 2, kesalahan tipe 2 ini sangat berbahaya)
    Interpretasi: Anda memprediksi negatif dan itu salah.
    Anda memperkirakan bahwa seorang wanita tidak hamil tetapi sebenarnya wanita tsb hamil.

Dari contoh di atas dapat digambarkan bahwa:

  • Nilai Prediksi adalah keluaran dari program dimana nilainya Positif dan Negatif
  • Nilai Aktual adalah nilai sebenarnya dimana nilainya True dan False

 Contoh Confusion Matrix :

Suatu perusahaan membuat sebuah model yang dilatih untuk memprediksi apakah seorang karyawan di perusahaan tsb terkena covid-19 atau tidak. Dengan asumsi perusahaan tsb mempunyai 175 karyawan.  Dari model classifier memprediksi karyawan positif covid-19 sebanyak 145 dan karyawan negatif covid-19 sebanyak 30 tetapi pada kenyataannya,  karyawan positif covid-19 sebanyak 150 dan karyawan negatif covid-19 sebanyak 25 (dapat dilihat pada Tabel 1).

Tabel 1 Contoh Confusion Matrix

 

n= 175

Aktual :

Positif (1)

Aktual :

Negatif (0)

Prediksi :

Positif   (1)

 

TP:  125

 

FP:  20

Prediksi :

Negatif (0)

 

FN:   25

 

TN:   5

               150                 25

Pada kasus ini :

  • True Positive (TP): kita memprediksi karyawan positif covid-19 dan memang benar karyawan tsb positif covid-19
  • True Negative (TN): kita memprediksi karyawan negative covid-19 dan memang benar karyawan tsb negatif covid-19.
  • False Positive (FP):kita memprediksi karyawan positif covid-19 dan ternyata prediksi salah, ternyata karyawan negatif covid-19
  • False Negative (FN) : kita memprediksi karyawan negatif covid-19 dan ternyata prediksi salah, ternyata karyawan tsb positif covid-19. Seperti telah dijelaskan di atas bahwa FN merupakan kesalahan tipe 2 dimana kesalahan ini sangat berbahaya. Contoh : karyawan di prediksi negatif covid-19 padahal ternyata karyawan positif covid-19 maka karyawan tersebut terlambat mengetahui keadaan sebenarnya sehingga tidak segera dilakukan tindakan pencegahan pengobatan dan isolasi mandiri. Dimana karyawan dapat menularkan virus covid-19 ke banyak karyawan lainnya dalam perusahaan dan dapat menyebabkan kematian untuk karyawan lain juga karyawan tsb.

maka dapat dihitung nilai accuracy, precision, recall dan F-1 score.

  • Accuracymennggambarkan seberapa akurat model dalam mengklasifikasikan dengan benar

     Accuracy = (TP+TN) / (TP+FP+FN+TN)

                     = (125+5)/ (125+20+25+5)

                     = 0.742

                     = 0.742 *100 % = 74.2 %

  • Precision menggambarkan akurasi antara data yang diminta dengan hasil prediksi yang diberikan oleh model. Precision = (TP) / (TP + FP)

                             = 125 / (125 + 20)

                             = 0.86

                             = 0.86 * 100% = 86%

  • Recall atau sensitivity: menggambarkan keberhasilan model dalam menemukan kembali sebuah informasi.  Recall  = TP / (TP + FN)

                              = 125 /(125+25)

                              = 0.83

                              = 0.83 * 100% = 83%

  • F-1 Score menggambarkan perbandingan rata-rata precision dan recall yang dibobotkan. Accuracy tepat kita gunakan sebagai acuan performansi algoritma jika dataset kita memiliki jumlah data False Negatif dan False Positif yang sangat mendekati (symmetric). Namun jika jumlahnya tidak mendekati, maka sebaiknya kita menggunakan F1 Score sebagai acuan.

F-1 Score  = (2 * Recall * Precision) / (Recall + Precision)

                = (2* 0.83 * 0.86 ) / (0.83 + 0.86)

                = 1.4276 / 1.69

                = 0.84 *100%

                = 84%

Referensi :

  1. Sarang Narkhede. Understanding Confusion Matrix. May 2018. https://towardsdatascience.com/understanding-confusion-matrix-a9ad42dcfd62.
  2. Jianfeng Xu, Yuanjian Zhang, Duogian Miao.Three-way confusion matrix for classification: A measure driven view. Information Sciences Volume 507, January 2020. Elsevier. https://doi.org/10.1016/j.ins.2019.06.064