一种排名算法

问题描述 投票:5回答:3

我需要根据用户评分对某些产品进行排序。

假设我们有3个产品{abc},并且我们有用户对此产品的反馈。哪个用户提供给我们反馈并不重要(如果您熟悉此问题,则不关乎相关过滤-此处不涉及用户兴趣)

下面的每一行都是用户尝试比较这三种产品时的反馈:

[a 150分-b 0分(该用户只是告诉我们他对2个产品a和b的看法,而在比较a和b时,他认为如果他给出150分,那么b价值0分)

a 150点-c 20点

c 200点-a 10点(尽管该用户认为上一个c比a更好)

a 200点-b 40点-c 100点

a 150分-b 50分

a 150点-b 20点

((这些评级只是示例,在现实世界中,产品数量和评级远大于此)

现在,我需要一种算法来根据用户投票来找到产品的排名。以我的观点,最好的方法是用一个相关图描述这个问题,并将所有产品相互连接。

感谢任何帮助或提示。

/ ************************************************* *************************************** /

您不能只添加点并计算产品点的平均值,因为获得他的点很重要。假设ab获得800分-然后ca获得10分,如下所示:

a 200-b 0

a 200-b 0

a 200-b 0

a 200-b 0

c 10-a 0(这意味着c比a更好)

所以肯定ab更好,但得分只有10分ca中获得了更好的排名

/ *************************************************** ************************************** /

我需要根据用户评分对某些产品进行排序。假设我们有3个产品{a,b,c},并且我们有用户对此产品的反馈。哪个用户给我们反馈并不重要(此问题...

algorithm math graph ranking voting
3个回答
5
投票

您有一些挑战。添加排名c 0-b 20


3
投票

baysean rating system可能是您最好的选择-它考虑到项目的票数和相对票数,以便为其赋予加权得分。


1
投票

[我认为您需要说明每个人对每种产品的投票方式-例如:1人投票:a投票100票,b投票50票,c投票0票人2对a投票0,对b投票200,对c投票80这应该翻译成:人1对a投票3,对b投票2,对c投票-1人2投票-1赞成a,3赞成b和2赞成c我在哪里使用:3票最高2为第二高最低为1AND -1(如果他们投票为0)(表明他们不喜欢/不考虑该产品)无论如何我最初的想法

© www.soinside.com 2019 - 2024. All rights reserved.