2010-03-22 69 views
8

對於一個學校項目,我們必須實施一個排名系統。然而,我們認爲一個愚蠢的排名平均會吸:一個用戶排名5星將有一個更好的平均值,有188名用戶排名4星,這只是愚蠢的。如何平衡評分數量與評分本身?

所以我想知道你們是否有一個「智能」排名算法的例子。它只需要考慮給出的排名和排名的數量。

謝謝!

回答

6

這裏的描述背後的理論貝葉斯排名系統像樣的文章:

Bayesian Rating - how to implement a weighted ranking system

+0

謝謝,我會閱讀。 – zneak 2010-03-22 20:36:55

+1

這個答案很好。通過將一些鏈接的信息複製到這個答案中,可以使它變得非常完美,以便在原始鏈接死亡的情況下仍然保留。 – Beska 2010-03-22 21:02:50

+0

@Beska我現在時間有點短暫,我肯定會馬上轉移一些。 – 2010-03-22 21:06:30

-1

一個簡單的解決方案可能是一個加權平均值:

總和(票)/ number_of_votes

那方式,3人投1星,1人投5會給(1 + 1 + 1 + 5)/ 4 = 2星加權平均。

簡單,有效,可能足以滿足您的需求。

+1

這與常規平均值有何不同?此外,它仍然存在OP想要解決的問題,即擁有「5」一票的人的排名將高於擁有4票的100票的其他人。 – 2010-03-22 21:00:05

+0

這正是他沒有的想。 1人5星會給平均5星。 – Beska 2010-03-22 21:00:06

+0

@ E.J。布倫南:「Jinx!」 – Beska 2010-03-22 21:00:50

5
+0

+1。另請參閱Randall Munroe關於它如何在Reddit上使用的文章:http://blog.reddit.com/2009/10/reddits-new-comment-sorting-system.html。這個系統還有一個好處,就是你不需要知道平均等級,或者當它改變時重新計算,這是貝葉斯系統所要求的。 – 2010-03-22 21:56:00

+0

這很酷,雖然它似乎只適用於好評/差評,而不適用於「基於開始」的系統。無論如何可能會派上用場,所以我會給你+1。 – zneak 2010-03-22 22:12:45

+0

@my其他評論:當我寫這篇文章時,我的頭在哪裏?這是一個「基於規模」的系統,並不是真正的「基於星級」的系統,甚至更不是「基於開始」的系統。 – zneak 2010-03-23 00:19:10