Sekarang bayangkan kita adalah seorang knowledge scientist di suatu perusahaan penyedia telekomunikasi Indigo. Saat itu, kita memiliki tugas membuat mannequin untuk memprediksi apakah seorang pelanggan akan melanjutkan langganan dari produk WIFI dengan label 0 (Tidak Lanjut) dan 1 (Tetap Lanjut). Ketika selesai membuat mannequin tersebut, Pak bos bertanya “Emangnya seberapa banyak hasil prediksi yang benar?” Untuk menjawab pertanyaan tersebut, kebanyakan orang termasuk kita lebih cenderung menggunakan metrics yang bernama Accuracy.
Accuracy sendiri merupakan salah satu metrics yang sering digunakan dalam mengevaluasi performa mannequin klasifikasi. Untuk menghitung nilai Accuracy sendiri dapat dihitung dengan membagi jumlah prediksi yang benar dengan jumlah whole prediksi di semua kelas. Karena hal inilah,
- Accuracy sangat mudah diinterpretasikan
- Accuracy sangat mudah diterapkan
- Accuracy dapat menilai suatu mannequin dikategorikan baik atau tidak
Betul, tidak semudah yang dibayangkan! Accuracy tidak bisa digunakan dalam mannequin yang bertujuan untuk melakukan info retrieval.
Untuk menjawab pertanyaan ini, maka kita akan mengenal istilah yang disebut sebagai Accuracy Paradox.
Accuracy Paradox? Istilah apa itu?
Sekarang bayangkan jika kita memiliki mannequin untuk memprediksi apakah seseorang memiliki penyakit tumor otak atau tidak. Di dalam mannequin, kita mendapati bahwa terdapat dua label yaitu 1 (Mengidap Tumor Otak) yang berjumlah 100 knowledge dan 0 (Tidak Mengidap Tumor Otak) berjumlah 1000 knowledge. Hal ini memiliki arti bahwa perbandingan dari label 1 dan 0 adalah 100:1000 atau 1:10. Secara intuitif, kita ingin mannequin yang kita buat dapat memprediksi kelas minoritas (Mengidap Tumor Otak) lebih baik daripada memprediksi kedua kelas.
Ketika kita mempunyai mannequin yang memiliki accuracy sebesar 90%, Hal ini memiliki kemungkinan bahwa kelas mayoritas (Tidak memiliki tumor otak) diprediksi dengan sangat baik, sedangkan kelas minoritas (Memiliki tumor otak) diprediksi dengan sangat buruk.
Bingung? Mari kita ambil contoh singkat:
Kita memiliki mannequin Determination Tree yang memprediksi dengan benar bahwa terdapat 20 orang yang terkena tumor otak, sedangkan terdapat 990 orang yang tidak terkena tumor otak. Dengan melakukan perhitungan accuracy, didapati bahwa :
Dengan nilai tersebut, maka seseorang cenderung menilai bahwa mannequin Determination Tree yang dibuat memiliki peforma yang baik! sedangkan apabila dilihat lebih lanjut, hanya 20 dari 100 orang yang diprediksi memiliki tumor otak atau hanya sebesar 20% saja! Hal inilah yang disebut sebagai Accurcy Paradox. Ketika kita menganggap bahwa mannequin memiliki performa yang baik dari nilai accuracy, sedangkan kenyataanya tidak demikian.
Hal ini akan sangat berbahaya apabila mannequin digunakan di kehidupan nyata! Hal ini berarti bisa jadi bahwa seseorang yang memiliki tumor otak akan cenderung diprediksi tidak memiliki tumor otak di kemudian hari. SERAM!
Dengan alasan di atas lah, accuracy tidak digunakan di knowledge yang memiliki kelas imbalance.
Tentu ada! Bayangkan, kita memiliki dokumen yang berkaitan dengan peraturan di Indonesia berjumlah 1000 dokumen. Selanjutnya, pengguna memasukkan kalimat yaitu “Peraturan yang berkaitan dengan korupsi”. Dari semua dokumen tersebut, apakah semua dokumen tersebut mengandung konten yang berkaitan dengan korupsi? Jawabannya adalah tidak. Setelah kita mencari tahu lebih lanjut, hanya terdapat 20 dokumen yang relevan dengan korupsi. Hal ini memiliki arti bahwa kelas dokumen yang relevan (Label 1) dibandingkan dengan kelas dokumen yang tidak relevan (Label 0) adalah sebesar 20:980 atau 1 : 49. Dengan alasan inilah, knowledge dalam pengambilan dokumen (Data Retrieval) dikatakan sebagai knowledge yang imbalance.
Hal inilah menimbulkan Accuracy Paradox pada pencarian dokumen. Walaupun mannequin pencarian dokumen kita memiliki nilai accuracy sebesar 99%, dapat dikatakan nilai tersebut bias. Seperti mannequin yang memprediksi penyakit tumor otak sebelumnya, kita ingin memaksimalkan performa kelas minoritas (Dokumen yang relevan dengan masukkan pengguna) dibandingkan dengan kelas mayoritas (Dokumen yang tidak relevan). Dengan kata lain, pengguna lebih ingin mendapatkan dokumen yang relevan dengan keinginannya dibandingkan dokumen yang tidak relevan (Banyak mau, tapi ya kenyataannya begitu)
Tenang aja, setiap masalah pasti ada solusi! Salah satu solusi yang dapat digunakan adalah menggunakan metrics yang lain seperti precision dan recall. Berbeda dengan accuracy yang tidak cocok digunakan untuk knowledge yang imbalance, precision dan recall memiliki kemampuan yang lebih baik dalam mengevaluasi performa mannequin info retrieval.
Untuk menjawab pertanyaan tersebut, maka kita harus melihat bagaimana precision dan recall bekerja. Dalam konteks Data Retrieval, Precision dan Recall seringkali dituliskan dengan precision@ok dan recall@ok dengan ok adalah jumlah dokumen yang diprediksi relevan oleh mannequin atau jumlah dokumen yang dikembalikan kepada pengguna. Bingung? mari kita ambil contoh kasus sebelumnya.
Bayangkan, kita memiliki dokumen yang berkaitan dengan peraturan di Indonesia berjumlah 1000 dokumen. Selanjutnya, pengguna memasukkan kalimat yaitu “Peraturan yang berkaitan dengan korupsi”. Kita tentu tidak akan mengembalikkan 1000 dokumen kepada pengguna, biasanya kita menentukan berapa banyak dokumen yang akan ditampilkan kepada pengguna. Sebagai contoh adalah 5 dokumen. Maka setelah mannequin menghitung tingkat kerelevanan dari masing-masing dokumen, maka mannequin akan menampilkan 5 dokumen teratas yang memiliki kerelevanan yang paling tinggi. Maka nilai ok dari mannequin tersebut adalah 5.
Dengan demikian, apabila kita menuliskan precision@5 dan recall@5, hal ini memiliki arti bahwa kita akan menghitung nilai precision dan recall pada 5 dokumen yang memiliki tingkat kerevelanan yang paling tinggi. Lalu, bagaimana menghitung nilai precision dan recall?
Perhatikan gambar diatas, setiap kotak melambangkan dokumen, warna merah memiliki arti dokumen yang tidak relevan, dan hijau memiliki arti dokumen yang relevan. Bila kita perhatikan seksama, dokumen yang ditampilkan berjumlah 5 atau ok = 5. Apabila kita ingin menghitung nilai precision@ok, maka kita perlu memiliki rumus sebagai berikut :
Dengan rumus tersebut, didapati bahwa jumlah dokumen yang relevan pada ok adalah sebesar 3 (dilambangkan dengan warna hijau). Sehingga nilai precision@5 adalah 3/5 atau 0.6. Berbeda dengan rumus dari precision@ok, recall@ok memiliki rumus adalah sebagai berikut :
Perhatikan, pada kasus sebelumnya didapati bahwa dari keseluruhan 1000 dokumen yang tersedia, hanya terdapat 20 dokumen yang relevan terhadap kasus korupsi. Dengan menggunakan rumus diatas, maka didapati bahwa nilai Recall@5 dalah 3/20 atau 0.15.
Dengan perhitungan yang telah dijabarkan sebelumnya, kita dapat menemukan bahwa Precision dan Recall akan lebih memprioritaskan kelas minoritas (dokumen yang relevan) dalam mengevaluasi peforma mannequin Data Retrieval. Semakin besar nilai Precision dan Recall pada suatu mannequin, maka semakin baik mannequin dalam mengembalikkan dokumen yang relevan kepada pengguna.
Catatan : nilai precision akan semakin menurun seiring dengan bertambahnya ok dokumen yang dikembalikkan, sedangkan nilai recall akan semakin meningkat seiring dengan bertambahnya ok dokumen yang dikembalikkan.
Tentu ada! selain precision dan recall, terdapat beberapa metode lain yang dapat digunakan dalam mengukur performa info retrieval. Metrics tersebut antara lain :
- Mean Reciprocal Rank (MRR)
- • Mean Average Precision@Ok (MAP@Ok)
- • Normalized Discounted Cumulative Gain (NDCG@Ok)
Metrics di atas tentu menggunakan pendekatan yang berbeda satu sama lain. Untuk mengetahui ketiganya lebih lanjut, kita akan membahasnya di tulisan lain.
see you~
Penulis : Rafik Septiana
Editor : Muhammad Hanif
Referensi :