Metrics Evaluasi: Kapan sih Harus Pake Presisi atau Recall? Kok Ngga Boleh Pake Akurasi?

Datasans
5 min readDec 30, 2022

--

Image source: https://thedatascientist.com/metrics-matthews-correlation-coefficient/

Halo warga sans, kali ini kita akan membahas sekilas tentang metric-metric evaluasi dalam machine learning, terkhusus model klasifikasi karena ini yang paling sering kita jumpai di kasus-kasus modeling non-complex.

Biar ngga bikin capek, saya akan bikin cepet aja, jadi warga semua bisa pake ini buat cheatsheet. Kalo mau super lengkap, cari aja sendiri di google.

Dalam metode evaluasi machine learning klasifikasi, ada beberapa metrics yang sering kita dengar dan cukup common, apa saja? ini dia:

Akurasi (Accuracy)

Mengukur seberapa baik model dapat memprediksi kelas dari suatu instance. Dapat dihitung dengan membagi jumlah instance yang benar diprediksi dengan total jumlah instance.

  • Digunakan ketika kita ingin mengetahui seberapa baik model dapat memprediksi kelas dari suatu instance secara keseluruhan.
  • Contoh usecase: Pada sistem deteksi spam email, akurasi model dapat digunakan untuk mengukur seberapa baik model dapat memisahkan email spam dan non-spam.

Kapan warga sebaiknya jangan pake akurasi?

Jika distribusi kelas dalam dataset tidak seimbang, kita sebaiknya tidak menggunakan akurasi sebagai metric evaluasi. Hal ini karena akurasi tidak memperhitungkan imbalance kelas, sehingga tidak dapat memberikan gambaran yang akurat tentang performa model. Sebagai penggantinya, kita dapat menggunakan metric-metric lain seperti F1 Score, atau AUC-ROC.

Presisi (Precision)

Mengukur seberapa baik model dapat memprediksi instance positif dengan benar. Dapat dihitung dengan membagi jumlah instance positif yang benar diprediksi dengan total jumlah instance yang diprediksi sebagai positif.

  • Digunakan ketika kita ingin mengetahui seberapa baik model dapat memprediksi instance positif dengan benar. Fokusnya ke instance positif.
  • Contoh usecase: Pada sistem deteksi penipuan online, presisi model dapat digunakan untuk mengukur seberapa baik model dapat memprediksi transaksi yang sebenarnya penipuan dengan benar.
  • Jadi dalam hal ini warga memegang prinsip “jangan sampai menghukum orang yang tidak bersalah, nggapapa beberapa fraud tidak berhasil terdeteksi”.

Kapan warga sebaiknya jangan pake presisi?

Jika tujuan dari model klasifikasi adalah untuk memprediksi instance negatif dengan tepat, atau ingin sebanyak-banyaknya mendeteksi instance positif walaupun resiko tidak tepatnya sedikit tinggi, kita sebaiknya tidak menggunakan presisi sebagai metric evaluasi. Hal ini karena presisi tidak memperhitungkan tingkat false negatives yang terjadi, sehingga tidak dapat memberikan gambaran yang akurat tentang performa model dalam memprediksi instance negatif. Sebagai penggantinya, kita dapat menggunakan metric-metric lain seperti sensitivitas (recall) atau F1 Score.

Sensitivitas (Recall)

Mengukur seberapa baik model dapat mendeteksi instance positif. Dapat dihitung dengan membagi jumlah instance positif yang benar diprediksi dengan total jumlah instance yang sebenarnya positif.

  • Digunakan ketika kita ingin mengetahui seberapa baik model dapat mendeteksi instance positif.
  • Contoh usecase: Pada sistem deteksi kebocoran air, sensitivitas model dapat digunakan untuk mengukur seberapa baik model dapat mendeteksi kebocoran air dengan tepat.
  • Kalo ini kasusnya, warga lebih fokus ke “ambil sebanyak2nya jangan sampe ada yang lolos, salah nggapapa, karena lebih baik salah prediksi bocor walaupun sebenernya ngga bocor, daripada ada kebocoran yang luput dari prediksi.”

Kapan warga sebaiknya jangan menggunakan recall?

Jika tujuan dari model klasifikasi adalah untuk memprediksi instance positif dengan tepat, kita sebaiknya tidak menggunakan sensitivitas sebagai metric evaluasi. Hal ini karena sensitivitas tidak memperhitungkan tingkat false positives yang terjadi, sehingga tidak dapat memberikan gambaran yang akurat tentang performa model dalam memprediksi instance positif. Sebagai penggantinya, kita dapat menggunakan metric-metric lain seperti presisi atau F1 Score.

F1 Score

Adalah rata-rata harmonis (harmonic mean) dari presisi dan sensitivitas. Ini berguna jika kita ingin mendapatkan performa yang seimbang antara presisi dan sensitivitas.

  • Digunakan ketika kita ingin mendapatkan performa yang seimbang antara presisi dan sensitivitas(recall).
  • Contoh usecase: Pada sistem deteksi plagiarisme, F1 Score model dapat digunakan untuk mengukur seberapa baik model dapat memprediksi dokumen yang sebenarnya plagiat dengan tepat, serta seberapa baik model dapat mendeteksi dokumen plagiat yang ada.

AUC-ROC (Area Under the Receiver Operating Characteristic Curve)

RUC-ROC adalah area di bawah kurva ROC (Receiver Operating Characteristic). Kurva ROC menggambarkan tingkat True Positive Rate (sensitivitas) terhadap False Positive Rate (1 — Specificity) pada berbagai threshold yang digunakan model untuk memprediksi instance. Nilai AUC yang lebih tinggi menunjukkan bahwa model lebih baik dalam membedakan antara instance positif dan negatif. Rumus untuk luas dibawah kurva (jika warga masih ingat kuliah kalkulus) adalah integral dari fungsinya, seperti ini:

  • Digunakan ketika kita ingin mengetahui seberapa baik model dapat membedakan antara instance positif dan negatif.
  • Contoh usecase: Pada sistem deteksi penyakit, AUC-ROC model dapat digunakan untuk mengukur seberapa baik model dapat membedakan antara pasien yang sehat dan yang sakit.
  • Biasanya juga dipakai untuk membandingkan beberapa model, karena AUC-ROC ini mengukur seberapa baik model membedakan sehat dan sakit di semua threshold probability.

Confusion Matrix

Adalah matriks yang menggambarkan jumlah instance yang benar dan salah diprediksi oleh model. Matriks ini berguna untuk mengetahui tingkat akurasi model secara keseluruhan, serta mengetahui kekuatan dan kelemahan model dalam memprediksi masing-masing kelas.

Nah begitu ya kurang lebih warga sans, save postingan ini di highlight biar bisa dibuka kapan aja.

Semoga membantu!

--

--

Datasans
Datasans

Written by Datasans

All things about data science that are discussed “sans ae”, data sains? sans lah…

No responses yet