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].
Advertisements

30 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.

  5. sebelumnya makasi atas penjelasannya. akurasi, recall dan precision itu rumus untuk semua metode klasifikasi dan regresi sama atau berbeda setiap metode? terima kasih

  6. Maaf sebelumnya, saya mau bertanya..
    Apabila terdapat lebih dari 2 macam ikan (misal 5 jenis ikan) maka tiap jenis ikan akan dihitung nilai precission, recall dan accuracy satu persatu..
    Itu berarti akan ditemukan 5 nilai dari masing-masing perhitungannya..
    Yang saya tanyakan, nilai mana yang akan dipakai untuk menilai keakuratan sistem yang ada? apakah nilai rata2 dari kelima nilai dari tiap ikan tersebut?
    Terima kasih

  7. Membandingkan sitem pakar menggunakan metode certainty factor dgn sistem pakar yang menggunakan metode forward chaining ,untuk mengetahui metode mana yg lebih akurat untuk suatu sistem pakar sehingga layak untuk di pilih..
    jadi rencananya 2 metode itu di terapkan dalam sistem yg sama” sistem pakar strawberry dgn 2 program yg sama. Nah dari masing sistem pakar akan mencoba diagnosa penyakit yg sama dgn gejala yg sama namun ada kemungkinan hasil yg berbeda karena metode yg berbeda, nah masing” akan di analisis dgn metode akurasi itu untuk di cari mana yg akurat dan layak di pilih.. kira-kira metode precision dan recall ini bisa gak ya min untuk di gunakan pada kasusku ini ..???
    MOHON BANTUANNYA…
    Trimakasih….

  8. saya sebenarnya masih bingung dengan precision dan recall pada pengujian yang saya lakukan. Saya membuat klasifikasi berita dengan teknik pengujian cross validation, namun saya masih belum mengerti bagaimana saya mengaplikasikan rumus recall kedalam hasil pengujian saya. Misalnya saya memekai data testing 200 (masing masing 40 data tiap kategori) dan data training 800 (160 data tiap kategori) dengan 5 kategori di dalamnya. Dari 200 testing yang saya lakukan didapat 189 data yang sesuai dengan inputan yang saya masukkan dan 11 data yang salah dari . Jika saya masukkan ke dalam rumus: Precision = 189/(189+11), bagaimana dengan recallnya? apakah saya masukkan Recall = 189/(189+0). Saya mohon penjelasannya, terimakasih

  9. Pingback: Precision, Recall, Accuracy – Sweet Little Taste

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.