Beli Project AI +

Halo Ryan Blog

Apa Perbedaan Sensitifitas & Spesifitas Pada Machine Learning

Tim Halo Ryan, 22 Sep 2024

Alumni Covid? Sini kumpul. Selama masa covid kemaren, kalian pasti sering banget mendengar istilah sensitifitas dan spesifitas bukan? Terutama yang berkaitan dengan alat deteksi covid atau keakurasian swab test. Yup, kedua istilah ini menyatakan tingkat keakuratan sebuah instrument dalam dunia medis. Alih-alih menggunakan akurasi, precision maupun f1-score.

Dalam machine learning, terutama untuk tugas klasifikasi kesehatan, kita sering berhadapan dengan dua istilah penting: sensitivitas dan spesifisitas. Keduanya adalah metrik yang digunakan untuk mengevaluasi seberapa baik model klasifikasi bekerja, terutama ketika kita menghadapi dataset dengan dua kelas, seperti positif dan negatif. Meskipun sering digunakan bersama, sensitivitas dan spesifisitas memiliki tujuan yang berbeda dan digunakan dalam situasi yang berbeda pula.

Artikel ini akan menjelaskan pengertian, rumus, serta perbedaan antara sensitivitas dan spesifisitas dengan bahasa yang sederhana dan contoh yang mudah dipahami.

Apa Itu Sensitifitas?

Sensitivitas, juga dikenal sebagai recall atau true positive rate (TPR), adalah metrik yang mengukur seberapa baik model mampu mendeteksi kelas positif. Ini berarti sensitivitas fokus pada kemampuan model untuk menemukan semua sampel yang benar-benar positif di dalam dataset. Misal positif meninggal, positif covid atau positif hamil.

Project: deteksi kematian akibat serangan jantung disini

Dalam confusion matrix, sensitivitas didefinisikan sebagai rasio antara jumlah prediksi positif yang benar dengan jumlah total sampel yang seharusnya positif. Kira-kira rumusnya seperti ini:

  • True Positive (TP): Kasus di mana model berhasil memprediksi data positif.
  • False Negative (FN): Kasus di mana model salah memprediksi data sebagai negatif, padahal seharusnya positif.
Baca Juga: Membaca & Memahami Confusion Matrix 2x2 disini

Contoh Kasus Sensitifitas: 
Bayangkan sebuah model digunakan untuk mendeteksi penyakit. Dari 100 pasien yang benar-benar sakit, model berhasil mendeteksi 80 di antaranya sebagai positif (sakit), namun salah memprediksi 20 orang sebagai negatif (tidak sakit, padahal sebenarnya sakit). Maka perhitungan sensitifitasnya adalah seperti berikut:

Artinya, model mampu mendeteksi 80% dari pasien yang benar-benar sakit. Semakin tinggi sensitivitas, semakin baik model dalam mendeteksi semua kasus positif (sakit).

Mengapa Sensitifitas Penting:
Sensitivitas sangat penting ketika kita ingin meminimalkan kesalahan negatif atau false negatives. Contohnya:

  • Dalam diagnosis penyakit, sensitivitas tinggi diinginkan karena kita tidak ingin pasien yang sakit terlewatkan oleh model.
  • Dalam deteksi penipuan (fraud detection), kita ingin mendeteksi semua aktivitas mencurigakan meskipun ada risiko memberikan peringatan palsu.

Apa Itu Spesifitas

Spesifisitas, juga dikenal sebagai true negative rate (TNR), adalah metrik yang mengukur seberapa baik model mampu mengidentifikasi kelas negatif. Artinya, spesifisitas berfokus pada kemampuan model untuk mendeteksi sampel yang seharusnya negatif. Negatif meninggal, negatif covid atau negatif hamil misalnya.

Dalam confusion matrix, spesifisitas dinyatakan rasio antara jumlah prediksi negatif yang benar dengan jumlah total sampel yang seharusnya negatif. Kira-kira rumusnya seperti ini:

  • True Negative (TN): Kasus di mana model benar memprediksi negatif.
  • False Positive (FP): Kasus di mana model salah memprediksi positif, padahal seharusnya negatif.

Contoh Kasus Spesifitas: 
Misalkan sebuah model digunakan untuk mendeteksi apakah transaksi kartu kredit merupakan penipuan (fraud). Dari 1000 transaksi yang benar-benar tidak fraud, model dengan benar mengidentifikasi 950 transaksi sebagai tidak fraud, namun salah mendeteksi 50 transaksi sebagai fraud. Maka perhitungannya seperti berikut:

Artinya, model mampu mengidentifikasi 95% dari transaksi yang benar-benar tidak fraud dengan benar.

Project: Fraud detection pada transaksi kartu kredit disini

Mengapa Spesifitas Penting: 
Spesifisitas penting ketika kita ingin meminimalkan kesalahan positif atau false positives. Contohnya:

  • Dalam deteksi spam, spesifisitas tinggi diperlukan untuk menghindari pesan yang sah (bukan spam) diklasifikasikan sebagai spam.
  • Dalam deteksi penipuan kartu kredit, kita tidak ingin banyak transaksi sah yang ditolak karena kesalahan identifikasi.

Perbedaan Sensitifitas & Spesifitas

Adapun perbedaan antara sensitifitas & spesifitas adalah seperti berikut:

AspekSensitivitas (Recall/TPR)
Spesifisitas (TNR)
Fokus Utama
Mengukur kemampuan mendeteksi kelas positif (True Positive)
Mengukur kemampuan mendeteksi kelas negatif (True Negative)
Rumus

Kesalahan yang Diminimalkan
False Negative (kesalahan menganggap positif sebagai negatif)
False Positive (kesalahan menganggap negatif sebagai positif)
Contoh Kasus
Diagnosis penyakit (deteksi semua pasien yang sakit)
Deteksi spam (hindari pesan yang bukan spam dianggap spam)
Ketika Penting
Penting ketika kita ingin meminimalkan risiko melewatkan positif
Penting ketika kita ingin meminimalkan risiko kesalahan mendeteksi negatif

Contoh Lengkap: Diagnosis Penyakit

Bayangkan Anda memiliki model untuk mendeteksi suatu penyakit, dan Anda menguji model pada 200 orang. Berikut adalah hasil prediksinya:

  • True Positive (TP): 80 orang didiagnosis positif dengan benar (mereka sakit dan model mengatakan mereka sakit).
  • False Positive (FP): 30 orang didiagnosis positif secara salah (mereka tidak sakit, tetapi model mengatakan mereka sakit).
  • True Negative (TN): 70 orang didiagnosis negatif dengan benar (mereka tidak sakit dan model mengatakan mereka tidak sakit).
  • False Negative (FN): 20 orang didiagnosis negatif secara salah (mereka sakit, tetapi model mengatakan mereka tidak sakit).

Dengan data ini, kita bisa menghitung sensitivitas dan spesifisitas:

  • Sensitifitas:
  • Spesifitas:

Dalam kasus ini, sensitivitas adalah 80%, artinya model mampu mendeteksi 80% dari orang yang sakit. Spesifisitas adalah 70%, artinya model mampu mendeteksi 70% dari orang yang sehat dengan benar.

Bagaimana Memilih Antara Sensitivitas dan Spesifisitas?

  • Prioritaskan Sensitivitas jika: Anda lebih khawatir tentang melewatkan kasus positif. Ini berarti false negatives harus diminimalkan, seperti dalam diagnosis penyakit, di mana kita ingin memastikan semua orang sakit terdeteksi, meskipun ada risiko mendeteksi orang sehat secara salah.
  • Prioritaskan Spesifisitas jika: Anda lebih khawatir tentang mengidentifikasi orang atau objek negatif dengan benar, sehingga false positives harus diminimalkan. Contohnya, dalam sistem keamanan, kita mungkin ingin menghindari terlalu banyak alarm palsu yang mengidentifikasi hal-hal yang aman sebagai ancaman.

Kesimpulan

Sensitivitas dan spesifisitas adalah metrik yang berguna dalam mengevaluasi performa model klasifikasi, terutama dalam kasus di mana ada dua kelas, seperti positif dan negatif. Sensitivitas mengukur seberapa baik model mendeteksi kelas positif, sementara spesifisitas mengukur seberapa baik model mendeteksi kelas negatif. Kedua metrik ini sering memiliki trade-off, di mana meningkatkan salah satu bisa mengorbankan yang lain. Memahami perbedaan dan kapan menggunakan masing-masing metrik sangat penting untuk memilih model yang paling sesuai dengan kebutuhan Anda.

Baca Juga:

001

Cara Membaca Confusion Matrix Sederhana 2 x...

Artikel Machine Learning

Confusion matrix adalah sebuah tabel yang digunakan untuk mengukur performa dari sebuah model klasifikasi dengan cara membandingkan hasil prediksi dari mesin dengan label yang sebenarnya. Misal kita memiliki...

Selengkapnya arrow_forward

002

Apa Itu Akurasi, Precision, Recall & F1-Score,...

Artikel Machine Learning

Karena akurasi, precision, recall dan f1-score sangat erat kaitannya dengan confusion matrix, maka saya akan sangat menganjurkan kamu untuk memahami terlebih dahulu apa itu confusion matrix pada artikel...

Selengkapnya arrow_forward

Baca Artikel Lainnya +