【发布时间】:2011-02-06 20:05:19
【问题描述】:
假设我有一个(例如)餐馆列表。很多用户会得到一组餐厅列表,然后选择他们喜欢的两个餐厅中的一个(a la hotornot)。
我想将这些结果转换为绝对评分:对于每家餐厅,1-5 星(如有必要,评分可以是非整数)。
解决这个问题的一般方法是什么?
谢谢
【问题讨论】:
标签: algorithm language-agnostic recommendation-engine rating-system
假设我有一个(例如)餐馆列表。很多用户会得到一组餐厅列表,然后选择他们喜欢的两个餐厅中的一个(a la hotornot)。
我想将这些结果转换为绝对评分:对于每家餐厅,1-5 星(如有必要,评分可以是非整数)。
解决这个问题的一般方法是什么?
谢谢
【问题讨论】:
标签: algorithm language-agnostic recommendation-engine rating-system
我会将每个配对决定视为对其中一家餐厅的投票,而将每个非首选合作伙伴视为反对票。统计所有用户和餐厅的投票,然后对它们进行平均排序(这样每个星都“权衡”了一些投票)。
【讨论】:
Elo ratings 浮现在脑海中。这就是国际象棋世界如何根据您的赢/输/平局记录计算评级的方式。与得分较高的餐厅相比,输掉比赛所受到的惩罚要少于得分较低的餐厅,这有点像 PageRank 更关心来自一个排名很高的网站的链接。您可能的分数没有上限;对于 1-5 星系统,您必须以某种方式重新归一化。
【讨论】: