Hit Rate

4.5.4

Hit Rate

Diperbarui 2020-03-11 Baca 2 menit
Ringkasan
  • Hit Rate mengukur proporsi pengguna (atau kueri) yang daftar top-k-nya mengandung setidaknya satu item relevan.
  • Menilai tingkat cakupan dengan menghitung Hit Rate@k dari setiap daftar kandidat pengguna.
  • Dibahas pula hubungannya dengan Recall dan Precision serta kapan metrik ini cocok digunakan.

1. Definisi #

Untuk setiap kueri, misalkan \(G_q\) adalah himpunan item relevan dan \(S_{q,k}\) adalah hasil top-k:

$$ \mathrm{HR@k} = \frac{1}{Q} \sum_{q=1}^Q \mathbf{1}\{ G_q \cap S_{q,k} \ne \emptyset \} $$

Jika ada minimal satu item relevan, nilainya 1; jika tidak ada, nilainya 0. Rata-rata dari semua kueri adalah Hit Rate total.


2. Perhitungan di Python #

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import numpy as np

def hit_rate_at_k(y_true: np.ndarray, y_score: np.ndarray, k: int) -> float:
    """Mengembalikan 1.0 jika ada minimal satu item relevan di top-k prediksi."""
    idx = np.argsort(-y_score)[:k]
    return 1.0 if y_true[idx].sum() > 0 else 0.0

hits = [hit_rate_at_k(y_true[q], y_score[q], k=10) for q in range(len(queries))]
hr_at_10 = np.mean(hits)

print("Hit Rate@10:", round(hr_at_10, 3))

Jika terdapat banyak kueri (atau pengguna), ambil rata-ratanya.
Mirip dengan Recall@k, namun hanya memperhatikan apakah ada item benar dalam top-k.


3. Keunggulan #

  • Intuitif: Menunjukkan langsung persentase pengguna yang mendapat minimal satu hasil benar.
  • Lebih longgar daripada Recall@k: Menganggap berhasil jika ada satu hasil benar, meski lainnya terlewat.
  • Cocok untuk evaluasi awal: Memberikan indikasi kasar namun berguna untuk membandingkan model.

4. Aplikasi Praktis #

  • Sistem rekomendasi: Mengukur persentase pengguna yang item diklik atau dibelinya muncul dalam daftar kandidat.
  • E-commerce: Memastikan produk populer atau yang dipersonalisasi muncul dalam rekomendasi.
  • Uji A/B: Sebelum eksperimen online, gunakan peningkatan HR@k sebagai acuan seleksi model offline.

5. Hubungan dengan Metrik Lain #

MetrikDeskripsiAlasan Kombinasi
Hit RateKeberhasilan biner per penggunaSederhana, tapi tidak mengukur kelengkapan
Recall@kItem benar / total item relevanMengukur kelengkapan jika item relevan lebih dari satu
Precision@kItem benar / item yang diambilMenilai kebisingan meski Hit Rate tinggi
NDCGMemperhitungkan posisi peringkatMenunjukkan apakah item relevan ada di posisi atas

Ringkasan #

  • Hit Rate adalah metrik sederhana untuk menilai apakah pengguna mendapat minimal satu hasil benar.
  • Gabungkan dengan Recall@k atau NDCG untuk melihat cakupan dan kualitas peringkat.
  • Praktis digunakan sebagai KPI awal dan mudah dijelaskan kepada pihak bisnis.