まとめ
- MAP adalah metrik peringkat yang menghitung rata-rata Average Precision (AP) dari beberapa kueri.
- Dengan contoh pencarian, kita menghitung AP dan MAP untuk melihat pengaruh urutan hasil.
- Juga membahas isu praktis seperti daftar kandidat panjang dan pembobotan.
1. Definisi AP dan MAP #
Untuk satu kueri, Average Precision (AP) adalah rata-rata dari nilai precision pada setiap posisi di mana item relevan ditemukan.
$$ \mathrm{AP} = \frac{1}{|G|} \sum_{k \in G} P(k) $$
Di sini, \(G\) adalah himpunan posisi item relevan, dan \(P(k)\) adalah precision hingga posisi \(k\).
MAP adalah rata-rata dari semua nilai AP di seluruh kueri.
$$ \mathrm{MAP} = \frac{1}{Q} \sum_{q=1}^Q \mathrm{AP}_q $$
2. Perhitungan di Python #
Scikit-learn tidak memiliki fungsi MAP langsung, tetapi kita dapat menghitung average_precision_score per kueri dan menghitung rata-ratanya.
from sklearn.metrics import average_precision_score
import numpy as np
aps = []
for q in queries:
aps.append(average_precision_score(y_true[q], y_score[q]))
map_score = np.mean(aps)
print("MAP:", round(map_score, 4))
y_true[q] berisi label biner (0/1), dan y_score[q] berisi skor keluaran model.
3. Karakteristik dan Keunggulan #
- Efektif untuk peringkat dengan banyak item relevan.
- Memberi skor lebih tinggi jika item benar ditemukan lebih awal.
- Menggabungkan aspek precision dan recall, memberikan evaluasi yang lebih menyeluruh dibandingkan Precision@k.
4. Aplikasi Praktis #
- Sistem pencarian: Mengevaluasi seberapa baik hasil mencakup semua item relevan.
- Sistem rekomendasi: Cocok untuk kasus dengan banyak item relevan (misalnya produk yang dilihat atau dibeli).
- Learning to Rank (LTR): Digunakan untuk evaluasi offline pada model peringkat seperti LambdaMART atau XGBoost.
5. Hal yang Perlu Diperhatikan #
- Jika jumlah item relevan per kueri sangat bervariasi, MAP bisa bias — pertimbangkan Weighted MAP.
- Kueri tanpa item relevan (semua label 0) tidak memiliki AP terdefinisi; tentukan apakah akan dihapus atau dianggap nol.
- Gunakan bersama NDCG, Recall@k, dan metrik lain untuk penilaian peringkat yang lebih menyeluruh.
Ringkasan #
- MAP adalah rata-rata dari average precision — ideal untuk evaluasi peringkat dengan banyak jawaban benar.
- Mudah dihitung dengan merata-ratakan nilai AP per kueri.
- Gabungkan dengan NDCG atau Recall@k untuk meningkatkan kualitas sistem peringkat dari berbagai sudut pandang.