我在網站上實現了一個簡單的向上/向下投票系統,並且記錄了個人投票以及投票時間和獨特的用戶iD(哈希IP)。投票 - 票數與投票率?
我的問題不是如何計算的票數百分比或總和 - 但更多的,什麼是一個好的算法,用於基於選票的好成績?
我覺得純得票率排序是不可接受的,以及簡單地清點upvotes。
考慮這個例子:
- 圖像A:4個upvotes,1個downvotes
- 圖片B:5個upvotes,4個downvotes
- 圖片C:1名給予好評,0 downvotes
理想的系統會把第一個,也許其次是B和C.然後
在純百分比的情況下,訂單(錯) 在一個純粹的投票計數場景中,順序是B> A> C(錯誤)
我對基於系統信心的某種「混合」算法有一個想法在得分,也許沿着線的東西:
// (if totalvotes > 0, else score = 0)
score = 1 - ((downvotes+1/totalvotes+1) * sqrt(1/totalvotes))
不過,我希望能向社會是否有任何真正明確的算法已經在那裏,我根本不知道,我以前從現在起一直到日落都圍繞着我的算法進行調整。
我也有最新數據爲每票 - 不過,該網站的內容是不是很時間敏感的,所以我真的不關心排序依據「什麼是熱」的說法。
[可能重複(http://stackoverflow.com/questions/9169143/finding-most-liked-item-of-a-user-with-rating-values)?至少答案是相關的。 – Anthales 2012-04-22 18:02:28
輝煌的問題,我必須說:) – 2012-04-22 18:44:31