想象一下,我有一个非常长的图片列表,我想按照人们认为他们的“好”的顺序对它们进行排名。
我不想让用户直接为图像分配分数(1 - 10等)并按此顺序,我想尝试新的东西。
我在想的是一种有趣的方式:
原来这是used regularly,例如(使用功能,而不是图片),这似乎是Uservoice's Smartvote的工作方式。
我的问题是,是否有一种众所周知的方法可以采用这一长长的比较列表,并为所有图像建立相对排名,但不会达到研究论文中的复杂程度。
我已经阅读了一堆lectures和研究论文,但我想知道是否有人可能推荐的示例代码?
答案 0 :(得分:3)
似乎你可以得到某种数字排名系统,然后根据它进行排序。只需从赢/输运动或象棋中借用算法,并将每个图像比较视为回合。
有些人看了,这里有一些示例代码,其中包含Java
中的算法。这是一个可以在python
中借阅的图书馆如果你搜索ELO,你会发现几乎所有语言的版本。获得数字图像排名后,您可以按照自己喜欢的方式对其进行排序。可能有其他排名算法你可以考虑赢/输比赛,这只是我用Google搜索国际象棋排名时的第一个。
答案 1 :(得分:1)
对于每张图片,计算它赢得决斗的次数,并除以它参与的决斗次数。这个比率是你的排名得分。
示例:
B ,A C , A D, B C,B D 强>
收益率
B:67%,C,D:50%,A:33%
除非你进行大量的比较,否则会有很多关系。