Perbedaan: precision, recall & accuracy

Tulisan ini terinspirasi gara-gara Vivi yang bingung perbedaan penggunaan dari accuracy, precision & recall.

Dalam “dunia” pengenalan pola (pattern recognition) dan temu kembali informasi (information retrieval), precision dan recall adalah dua perhitungan yang banyak digunakan untuk mengukur kinerja dari sistem / metode yang digunakan. Precision adalah tingkat ketepatan antara informasi yang diminta oleh pengguna dengan jawaban yang diberikan oleh sistem. Sedangkan recall adalah tingkat keberhasilan sistem dalam menemukan kembali sebuah informasi.

Sedangkan di “dunia lain” seperti dunia statistika dikenal juga istilah accuray. Accuracy didefinisikan sebagai tingkat kedekatan antara nilai prediksi dengan nilai aktual. Ilustrasi berikut ini memberikan gambaran perbedaan antara accuracy dan precision.

Accuracy vs Precision [4]

Accuracy vs Precision [4]

Agar lebih jelas, mari kita bahas dengan menggunakan contoh.

Misalkan kita ingin mengukur kinerja dari sebuah mesin pemisah ikan yang bertugas memisahkan ikan-ikan salmon dari semua ikan yang telah didapat. Untuk mengujinya kita akan memasukkan 100 ikan salmon dan 900 ikan lain (bukan ikan salmon). Hasilnya mesin tersebut memisahkan 110 yang dideteksi sebagai ikan salmon. Ke 110 ikan tersebut kemudian dicek kembali oleh manusia, ternyata dari 110 ikan tersebut hanya 90 ekor yang merupakan ikan salmon, sedangkan 20 lainnya merupakan ikan lain.

Dari kasus tersebut maka kita dapat simpulkan bahwa mesin tersebut memiliki precision sebesar 82%, recall sebesar 90% dan accuracy sebesar 97% yang didapatkan dari perhitungan berikut:

precision
recall
accuracy

Secara umum precision, recall dan accuracy dapat dirumuskan sebagai berikut:

rumus

Sehingga untuk kasus mesin pemisah ikan diatas dapat dituliskan sebagai berikut:

kasus

Oke, sekarang akan saya tunjukkan hal yang menarik. Menggunakan precision atau accuracy saja dalam sebuah mengukur kinerja dari sebuah sistem / metode bisa menimbukan bias yang sangat fatal. Sebagai contoh, misalnya dari pengujian menggunakan 100 ikan salmon dan 900 ikan lain ternyata mesin hanya memisahkan 1 ikan salmon, dan setelah dicek oleh manusia, 1 ikan tersebut benar merupakan ikan salmon. Pengujian ini dapat kita tuliskan sebagai berikut:

kasus2

Dari hasil perhitungan kita dapatkan precision sebesar 100% dan accuracy sebesar 90.1%. Sekilas tampak baik, namun perhatikan nilai recall yang hanya sebesar 1%. Hal ini menunjukkan bahwa sistem hanya dapat memisahkan ikan salmon dalam jumlah yang sedikit sekali dan masih banyak ikan-ikan salmon yang lolos dari pemisahan.

Bila digambarkan, kasus pengujian mesin pemisah ikan ini dapat digambarkan seperti ini:

salmon ven

Jadi dalam mengukur kinerja dari sebuah sistem / metode dalam pengenalan pola atau temu kembali informasi disarankan menggunakan minimal dua parameter yaitu precision dan recall untuk mendeteksi bias seperti pada kasus diatas.

Semoga bermanfaat. Bila ada kesalahan saya akan dengan senang bila dikoreksi.

Referensi:

  1. putubuku, “Recall & Precision,” Ilmu Perpustakaan & Informasi – diskusi dan ulasan ringkas, 27-Mar-2008. [Online]. Available: http://iperpin.wordpress.com/2008/03/27/recall-precision/. [Accessed: 16-Jun-2013].
  2. “Precision and recall,” Wikipedia – The Free Encyclopedia. [Online]. Available: http://en.wikipedia.org/wiki/Precision_and_recall. [Accessed: 16-Jun-2013].
  3. “Accuracy and precision,” Wikipedia – The Free Encyclopedia. [Online]. Available: https://en.wikipedia.org/wiki/Accuracy_and_precision. [Accessed: 16-Jun-2013].
  4. B. Raharjo, “Presisi Dan Akurasi,” Beni Raharjo – Nature, Environment, Remote Sensing, GIS, IT and Myself, 17-Mar-2011. [Online]. Available: http://www.raharjo.org/math/presisi-dan-akurasi.html. [Accessed: 16-Jun-2013].

15 thoughts on “Perbedaan: precision, recall & accuracy

  1. Terimakasih, postingannya sangat bermanfaat buat saya. Tapi saya masih bingung, jadi untuk menentukan suatu sistem bagus atau tidak itu dilihat dari akurasi, presisi, atau, recallnya?

    • Sama-sama, semoga bermanfaat.
      Pendapat saya, bila ingin melihat bagus tidaknya sistem yang kita bangun, maka ketiganya harus kita gunakan.
      Atau minimal kita menggunakan precision recall, bukan sekedar menggunakan precision saja atau akurasi saja.

  2. menarik sekali, sdr.penulis. sebelumnya, saya ijin untuk menyerap ilmu ttg precision dan recall ini ya. soalnya contohnya sangat sederhana sehingga mudah dipahami, tapi tetep sesuai dengan kaidah ilmunya.
    lalu, kalo boleh memberi saran nih, tolong ditambahkan penjelasan tentang f-measure. sepengetahuan saya f-measure ini merupakan fungsi dari precision dan recall dalam bidang information retrieval.
    cmiiw..

  3. terimakasih banyak info nya.
    kalo boleh saya ingin bertanya, kalo untuk mengukur ketepatan/ keberhasilan suatu metode yang diterapkan dalam sistem, jenis perhitungan mana yg baiknya saya gunakan?
    *dalam hal ini saya membuat sistem verifikasi wajah untuk login

  4. Makasih ilmunya….. sangat bermanfaat. tapi saya mau bertanya / konsultasi. kalo data ujinya dalam jumlah besar, untuk menghitung tingkat akurasi dll apa mesti divalidasi secara manual satu persatu, atau ada teknik semacam sampling untuk mendapatkan nilai akurasi dll yang merepresentasikan pengujian yang sebenarnya. makasih sebelumnya.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s