IMDB.COM排名算法(贝叶斯公式)和Reddit评论排行算法
博客遷移:時(shí)空螞蟻http://cui.zhbor.com/
因?yàn)樽罱鋈f(wàn)維品牌口碑的項(xiàng)目,需要對(duì)口碑進(jìn)行一個(gè)對(duì)比,現(xiàn)在庫(kù)中也有一部分的數(shù)據(jù)了,有很多的品牌評(píng)分居然是一樣的,這是庫(kù)中的真實(shí)的數(shù)據(jù),如果我簡(jiǎn)單的按平均分進(jìn)行評(píng)比,也行不太公平,因?yàn)橛泻芏嘣u(píng)論人數(shù)很多,但有的很少。
所以我就研究了一些算法。
剛開始引用了IMDB.COM排名算法,他主要是對(duì)top250進(jìn)行排名,對(duì)評(píng)分的人數(shù)有一定的限制,而我們品牌庫(kù)中總不能不讓相應(yīng)的品牌露出。所以針對(duì)品牌庫(kù)中排行使用貝葉斯公式的算法是不合適的,沒有意義,因?yàn)樗槍?duì)的是超過(guò)某些評(píng)論后的數(shù)據(jù)的排行,對(duì)于那些評(píng)論數(shù)沒有超過(guò)最低的有效評(píng)分人數(shù)時(shí)是沒有露出機(jī)會(huì)的,貝葉斯還有一個(gè)缺點(diǎn):主要問(wèn)題是它假設(shè)用戶的投票是正態(tài)分布。比如,電影A有 10 個(gè)觀眾評(píng)分,5個(gè)為五星,5個(gè)為一星;電影B也有 10 個(gè)觀眾評(píng)分,都給了三星。這兩部電影的平均得分(無(wú)論是算術(shù)平均,還是貝葉斯平均)都是三星,但是電影A可能比電影B更值得看。?
這里跟大家分享一下IMDB.COM排名算法公式:
WR = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C
具體意思:
R = ?單部電影的平均得分
v = 單部電影的有效評(píng)分人數(shù)(for this top 250, only votes from regular voters are considered.)防止粉絲拉票
m = ?入選top250榜單所需最低的有效評(píng)分人數(shù)
C = 所有影片的平均分
-------------------------------
IMDB.COM排名算法不可用,于是我轉(zhuǎn)戰(zhàn)reddit評(píng)論排名算法:他這里設(shè)計(jì)到一個(gè)威爾遜置信區(qū)間,可以根據(jù)置信區(qū)間的寬窄計(jì)算出更加人性化的排行榜。具體計(jì)算方法是:
我自己感覺有些復(fù)雜,用PHP寫出來(lái)如下:
1 function willson($ups=10, $downs=1){ 2 $n = $ups + $downs; //評(píng)論總數(shù) 3 if($n==0) return 0; 4 $z = 1.0; 5 $phat = (float)$ups/$n; 6 return ($phat+$z*$z/(2*$n)-$z*sqrt(($phat*(1-$phat)+$z*$z/(4*$n))/$n))/(1+$z*$z/$n); 7 }其中:
$ups 好評(píng)數(shù)
$downs 差評(píng)數(shù)?
$z?表示對(duì)應(yīng)某個(gè)置信水平的z統(tǒng)計(jì)量,這是一個(gè)常數(shù),可以通過(guò)查表得到。一般情況下,在 95% 的置信水平下,z統(tǒng)計(jì)量的值為1.96
用這個(gè)公式也會(huì)有問(wèn)題,因?yàn)槠放圃u(píng)分是按照五個(gè)等級(jí)評(píng)分,而這個(gè)公式只有好壞評(píng)分,所以我利用置信區(qū)間的不同來(lái)進(jìn)行等級(jí)排名。最后的結(jié)果是非常滿意,排名很人性化,能達(dá)到自己想要的效果。如果自己用平均值計(jì)算排名自己感覺都有點(diǎn)不好意思了。
?
?
參考:http://www.biaodianfu.com/imdb-rank.html
參考:http://www.biaodianfu.com/reddit-comment-sorting-algorithms.html
轉(zhuǎn)載于:https://www.cnblogs.com/hongbo819/p/3956824.html
總結(jié)
以上是生活随笔為你收集整理的IMDB.COM排名算法(贝叶斯公式)和Reddit评论排行算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 优秀课程案例:使用Scratch制作飞机
- 下一篇: Taylor Swift为何听不到搜不到