Back to IF3170 Inteligensi Artifisial

Topic

Questions/Cues

  • Apa itu Pengukuran Prediksi?

  • Apa itu Confusion Matrix?

  • Apa itu True Positive (TP)?

  • Apa itu True Negative (TN)?

  • Apa itu False Positive (FP)?

  • Apa itu False Negative (FN)?

  • Apa itu Accuracy?

  • Apa itu Precision?

  • Apa itu Recall?

  • Bagaimana cara menghitungnya (Latihan)?

  • Kapan kita butuh Precision/Recall?

Reference Points

  • Slides IF3170_Materi09_Seg03_AI-PredictionMeasurement.pdf

Apa itu Pengukuran Prediksi?

Setelah kita melatih model Supervised Learning untuk membuat prediksi (misalnya, memprediksi ‘Yes’ atau ‘No’), kita perlu cara untuk mengukur seberapa bagus atau seberapa akurat prediksi model tersebut.

Kita melakukannya dengan membandingkan Prediksi Model dengan Kelas Sebenarnya (Correct Class / Reality) dari data uji.

Confusion Matrix

Cara terbaik untuk memvisualisasikan performa model adalah dengan Confusion Matrix (Matriks Kebingungan). Ini adalah tabel 2x2 yang merangkum 4 kemungkinan hasil dari prediksi.

Prediksi: PositifPrediksi: Negatif
Realitas: PositifTrue Positive (TP)False Negative (FN)
Realitas: NegatifFalse Positive (FP)True Negative (TN)

Definisi 4 Hasil Prediksi

  • True Positive (TP):

    • Realitas: Positif, Prediksi Model: Positif.

    • (Tebakan ‘Positif’ yang Benar).

    • Contoh: Pasien sebenarnya sakit, model memprediksi sakit.

  • True Negative (TN):

    • Realitas: Negatif, Prediksi Model: Negatif.

    • (Tebakan ‘Negatif’ yang Benar).

    • Contoh: Pasien sebenarnya sehat, model memprediksi sehat.

  • False Positive (FP) - Error Tipe I:

    • Realitas: Negatif, Prediksi Model: Positif.

    • (Tebakan ‘Positif’ yang Salah).

    • Contoh: Pasien sebenarnya sehat, tapi model memprediksi sakit.

  • False Negative (FN) - Error Tipe II:

    • Realitas: Positif, Prediksi Model: Negatif.

    • (Tebakan ‘Negatif’ yang Salah).

    • Contoh: Pasien sebenarnya sakit, tapi model memprediksi sehat. (Ini seringkali berbahaya!)

Metrik Pengukuran Performa

Berdasarkan 4 angka (TP, TN, FP, FN) dari Confusion Matrix, kita dapat menghitung metrik performa.

1. Accuracy (Akurasi)

  • Apa itu? Fraksi dari total prediksi yang benar (baik positif maupun negatif) dibagi dengan total seluruh data.

  • Formula:

  • Kapan digunakan? Ini adalah metrik paling umum dan intuitif. Bekerja dengan baik ketika jumlah kelas seimbang (misalnya, 50% data Positif dan 50% data Negatif).

2. Precision (Presisi)

  • Apa itu? Dari semua instans yang ditebak Positif oleh model, berapa persen yang benar-benar Positif?

  • Formula:

  • Kapan digunakan? Saat biaya False Positive (FP) sangat tinggi.

  • Analogi: Filter Spam Email. Kita ingin Precision tinggi. Kita tidak mau email penting (Realitas: Negatif) salah diprediksi sebagai Spam (Prediksi: Positif). Sebuah FP di sini berarti kehilangan email penting. Lebih baik ada spam lolos (FN) daripada email penting hilang.

3. Recall (Perolehan / Sensitivitas)

  • Apa itu? Dari semua instans yang seharusnya Positif, berapa persen yang berhasil ditemukan (ter-retrieved/caught) oleh model?

  • Formula:

  • Kapan digunakan? Saat biaya False Negative (FN) sangat tinggi.

  • Analogi: Deteksi Medis (misal, Kanker). Kita ingin Recall tinggi. Kita tidak mau ada pasien yang sakit (Realitas: Positif) diprediksi sehat (Prediksi: Negatif). Sebuah FN di sini berarti pasien tidak mendapat pengobatan dan bisa berakibat fatal. Lebih baik ada pasien sehat diprediksi “mungkin sakit” (FP) untuk tes lebih lanjut.

4. F1-Score

F1-Score (atau F-Score) adalah sebuah metrik evaluasi untuk model klasifikasi. Sederhananya, F1-Score adalah rata-rata harmonik (harmonic mean) dari Precision dan Recall. Nilainya berkisar antara 0 (sangat buruk) hingga 1 (sangat baik). F1-Score mencoba menemukan keseimbangan antara dua metrik yang seringkali bertolak belakang:

  1. Precision (Presisi): Seberapa akurat prediksi positif kita? (Dari semua yang kita tebak ‘Positif’, berapa yang benar?)
  2. Recall (Perolehan): Seberapa banyak kasus positif yang berhasil kita temukan? (Dari semua yang sebenarnya ‘Positif’, berapa yang berhasil kita tebak?)

Akurasi saja tidak cukup, terutama jika datanya tidak seimbang. F1-Score adalah cara yang jauh lebih baik untuk mengukur performa pada kasus-kasus tersebut.

  • Formula: Ini adalah rata-rata harmonik dari Precision dan Recall:

    Atau jika dijabarkan langsung:

  • Kapan digunakan? F1-Score adalah metrik “pilihan utama” (go-to metric) dalam dua skenario berikut:

    1. Saat Kumpulan Data Tidak Seimbang (Imbalanced Dataset)
      • Ini adalah kasus penggunaan paling penting.
      • Contoh: Deteksi penipuan (fraud). Dari 1000 transaksi, mungkin hanya 5 yang penipuan (0.5%) dan 995 yang valid (99.5%).
      • Model bodoh yang selalu memprediksi “Valid” akan memiliki Akurasi 99.5% (terlihat hebat!), tapi sama sekali tidak berguna karena gagal menemukan satu pun kasus penipuan.
      • Dalam kasus ini, Recall model bodoh itu 0% (gagal menemukan penipuan), sehingga F1-Score-nya akan 0 (menunjukkan model itu sampah). F1-Score tidak tertipu oleh akurasi yang tinggi.
    2. Saat False Positive (FP) dan False Negative (FN) Sama-Sama Merugikan
      • Saat kita tidak bisa memutuskan mana yang lebih penting: Precision atau Recall.
      • Contoh: Diagnosis medis untuk penyakit serius.
        • False Positive (FP) itu buruk: Salah mendiagnosis orang sehat sebagai ‘sakit’. Ini menyebabkan stres, biaya pengobatan yang tidak perlu, dan tes lebih lanjut (Butuh Precision tinggi).
        • False Negative (FN) itu buruk: Salah mendiagnosis orang sakit sebagai ‘sehat’. Ini menyebabkan penyakitnya tidak diobati dan bisa berakibat fatal (Butuh Recall tinggi).
      • Karena keduanya sama-sama buruk, kita perlu metrik yang menyeimbangkan keduanya. Itulah F1-Score.

Latihan

Mari kita hitung TP, TN, FP, FN dari data latihan untuk menghitung ketiga metrik.

  • Data Total: 14 instans

  • TP (Realitas: +, Prediksi: +): Instans 1, 3, 5, 7, 10

  • Total TP = 5

  • TN (Realitas: -, Prediksi: -): Instans 2, 8, 9, 12

  • Total TN = 4

  • FP (Realitas: -, Prediksi: +): Instans 13

  • Total FP = 1

  • FN (Realitas: +, Prediksi: -): Instans 4, 6, 11, 14

  • Total FN = 4

(Pengecekan: 5 + 4 + 1 + 4 = 14. Total data cocok.)

Perhitungan Metrik:

  1. Accuracy = (TP + TN) / Total

    = (5 + 4) / 14

    = 9 / 14

  2. Precision = TP / (TP + FP)

    = 5 / (5 + 1)

    = 5 / 6

  3. Recall = TP / (TP + FN)

    = 5 / (5 + 4)

    = 5 / 9

Summary

Untuk mengukur performa model, kita menggunakan Confusion Matrix (TP, TN, FP, FN) untuk membandingkan prediksi dengan realitas. Accuracy mengukur total tebakan benar (TP+TN) dan baik untuk data seimbang. Namun, untuk data tidak seimbang atau kasus kritis, kita menggunakan Precision (fokus menekan FP, penting saat FP mahal, seperti filter spam) dan Recall (fokus menekan FN, penting saat FN mahal, seperti deteksi medis).