我经营一个业余音乐家的音乐网站,我们有一个基于10分的评分系统,然后计算成100分中的一个整体得分。我们为用户建立了一个“可信度”评分系统,它直接影响评分点的平均得分,但下一步是实施一个有效利用这些数据的图表系统。
我将试着解释这一切是如何工作的,这样你就可以看到我有哪些数据可供我使用。
所以我要处理的数据是:
)
在图表系统中,我希望创建一个使用上述3组数据的排名,以便在quality (总体评级,与分级数量标准化)和popularity (播放数量)之间建立公平的平衡。但是系统应该比流行程度更多地影响质量,例如质量方面占标准化排名的75%和流行度的25%。
在搜索了这个网站后,我发现了IMDB Bayesian-style system,它有助于解决质量方面的问题,但是我如何增加流行程度(播放的数量),并以我想要的方式实现它的平衡?
该网站是用PHP和MySQL编写的,如果这有帮助的话。
编辑:标题上写着“点击次数”,但这基本上等同于“剧本数量”。
发布于 2011-05-18 15:39:43
您可能想尝试以下几种方法。您提到的IMDB方程使用称重来倾向于电影的平均评级或所有电影的平均评级:
WR = (v/(v+m)) × R + (m/(v+m)) × C 所以
v << m => v/(v+m) -> 0; m/(v+m) -> 1 => WR -> C和
v >> m => v/(v+m) -> 1; m/(v+m) -> 0 => WR -> R这通常应该是公平的。根据剧本的数量计算0到100之间的受欢迎程度是非常困难的,除非你真的知道你的数据。首先,尝试计算平均播放次数avg(p)和方差var(p),然后可以使用它们来使用技术调用白化来缩放播放数:
WHITE(P) = (p - avg(p))/var(p)通过假设数据看起来像钟形曲线,这将给出-1到1之间的分数。然后,通过再次缩放,您可以将其缩放到0- 100范围:
POP = 50 * (1 + WHITE(P))要将基于加权因子w(例如0.75)的分数组合起来,您只需这样做:
RATING = w x WR + (1 - w) x POP玩这些让我知道你是怎么相处的。
注:这并不能解释一个事实,一个使用可以“游戏”的普及购买玩了很多次。你可以通过惩罚一首歌的多个剧本来解决这个问题:
deltaP = (1 - (Puser - 1)/TPuser),其中:
播放的总曲目数(并不是唯一的)
因此,用户只播放一个音轨的次数越多,它对该曲目的播放总数的计数就越少。如果用户的收听习惯是多样的,那么TPuser就会很大,所以deltaP将趋于1,这仍然可以被玩,但这是一个好的开始。
https://stackoverflow.com/questions/6017208
复制相似问题