Kullanıcıların "rate" öğeleri kendi zorluk dayalı sağlayan mevcut bir web uygulaması var. (0 ile 15). Şu anda, ben sadece her kullanıcının görüş ortalamasını alarak ve MySQL ortalama düz sunuyorum. Ancak, sayıları ağırlıklandırılarak daha uygun olacağını bana (ve benim kullanıcılar) açık oluyor.
İşin tuhafı, Google-ing bir kaç saat çok geldi değil. (Ben kısmen anlıyorum) "Bayes filtreleri" kapalı tabanlı site genelindeki derecelendirme sistemlerini gösterdi iki makaleler buldun. Here 'tek bir örnek:
Formül:
WR = (V / (V + M)) * R (+ M / (V + M)) * C
Nerede:
* WR=Weighted Rating (The new rating) * R=Average Rating (arithmetic mean) so far * V=Number of ratings given * M=Minimum number of ratings needed * C=Arithmetic mean rating across the whole site
Ancak ürün başına toplam oy sayısına dayanmaktadır ... ağırlık yokuş yukarıya burada fikir gibi, sitemde zorluk seviyesi "C" alarak, öğeden öğeye ölçüde değişebilir, çünkü (aritmetik tamamında ortalama değeri site) geçerli değil.
bu yüzden, benim soru bir REstate:
MySQL, PHP, ya da her ikisi kullanılarak, ben aritmetik ortalamasından elde etmeye çalışmak ediyorum:
(5 + 5 + 4)/3 = 4.67 (rounded)
... Bir ağırlıklı ortalamaya:
rating / weight
5 / 2 (since it was given 2 times)
5 / 2
4 / 1
(sum[(rate * weight)])/(sum of weights)
(5 * 2) + (5 * 2) + (4 * 1) / (2 + 2 + 1)
(24)/(5)
= 4.8