问题标签 [ranking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 排名算法
我需要根据用户评分对一些产品进行分类。
假设我们有 3 个产品 { a , b , c } 并且我们有用户对此产品的反馈。哪个用户给我们反馈并不重要(如果您熟悉,这个问题与相关过滤无关 - 用户兴趣不是这里的情况)
以下每一行都是用户尝试比较这 3 种产品时的反馈:
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 分
(这些评级只是一个样本,在现实世界中,产品和评级的数量比这大得多)
现在我需要一种算法来根据用户投票找到产品的排名。在我看来,最好的方法是用相关图来描述这个问题,并将所有产品相互连接起来。
任何形式的帮助或提示表示赞赏。
/************************************************* *******************************/
您不能只添加分数并计算产品分数的平均值,因为它如何获得他的分数很重要。假设a对b得 800 分,然后c对a得 10 分,如下所示:
a 200 - b 0
a 200 - b 0
a 200 - b 0
a 200 - b 0
c 10 - a 0(这意味着 c 优于 a)
所以绝对a比b好,但只有 10 分,c从a中获得了更好的排名
/************************************************* *******************************/
math - 产品排名
我需要根据用户评分对一些产品进行分类。
假设我们有 3 个产品 {a,b,c} 并且我们有用户对此产品的反馈。哪个用户给我们反馈并不重要(如果您熟悉,这个问题与相关过滤无关 - 用户兴趣不是这里的情况)
以下每一行都是用户尝试比较这 3 种产品时的反馈:
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 分
(这些评级只是一个样本,在现实世界中,产品和评级的数量比这大得多)
现在我需要一种算法来根据用户投票找到产品的排名。在我看来,最好的方法是用相关图来描述这个问题,并将所有产品相互连接起来。
任何形式的帮助或提示表示赞赏。
/************************************************* *****************************/**
您不能只添加分数并计算产品分数的平均值,因为假设 a 对 b 获得 800 分,然后 c 对 a 获得 10 分,这很重要:
a 200 - b 0
a 200 - b 0
a 200 - b 0
a 200 - b 0
c 10 - a 0(这意味着 c 优于 a)
所以绝对 a 比 b 好,但只有 10 分,c 从 a 中获得了更好的排名
/************************************************* ******************************/
lucene - 在 Solr 中使用地理位置进行排名
为 Solr/Lucene 实现自定义排名算法的正确方法是什么?
我读到 Zvents 为与特定地理区域中的事件相对应的文档实施距离加权排名系统 ( http://www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Zvents )。
我想做类似的事情:我将不同城市的广告编入索引,并且我想提高给定特定位置的最近广告的相关性。
java - 如何实现自定义搜索结果排名?
我的 lucene 索引包含带有“itemName”字段的文档。该字段使用 0 到 1 之间的提升因子进行提升。当我创建 BooleanQuery 时,我希望结果按匹配子句的数量和提升因子进行排名,因此公式如下所示:
分数总是介于 0 和 1 之间的浮点数。如果所有子句都匹配并且提升因子为 1,则为 1。
例如,如果三个没有提升因子的文档的“itemName”字段值为:
和 BooleanQuery 看起来像:
比 document1 检索到的分数为 (2/2 +0)/2 = 0.5,因为:count_of_matching_clauses = 2 和 count_of_total_clauses = 2
document2 将以 (1/2+0)/2 = 0.25 的分数被检索,因为:count_of_matching_clauses = 1 和 count_of_total_clauses = 2
比 document3 检索到的分数为 (2/2 +0)/2 = 0.5,因为:count_of_matching_clauses = 2 和 count_of_total_clauses = 2
如何在 lucene 中实现这种排序机制?我如何告诉 lucene 使用我的自定义排名类对结果进行排名?
sql - 在此示例中如何过滤搜索结果
我有一个包含数千种产品的产品表。有些产品有不同的颜色可供选择。但是当有人搜索“mp3 播放器”时,我不想向他展示每种颜色,而只是展示最畅销颜色的播放器。
她是表格布局(简化):
但是,当用户搜索“Mp3 播放器红色”时,我想向他展示红色播放器,而不是黑色播放器。使用“like”运算符执行搜索(是的,我知道 lucene,无论如何我需要解决这个问题)。
任何建议如何解决这个问题?我有一些想法,但似乎都不是一个好的解决方案。谢谢,
postgreSQL db 和 jave 用于创建结果。
algorithm - 蛋糕比较算法
这实际上是关于比较蛋糕。我的朋友正在举办一个纸杯蛋糕派对,目的是确定曼哈顿最好的纸杯蛋糕店。实际上,它比这更雄心勃勃。继续阅读。
有 27 家面包店,有 19 人参加(可能有一到两次没有出现)。每个面包店将有 4 个纸杯蛋糕,如果可能的话,包括主食——香草、巧克力和红色天鹅绒——并用通配符口味四舍五入。有 4 个属性可以对纸杯蛋糕进行评分:风味、湿润度、外观(漂亮)和一般品质。人们将为他们采样的每个纸杯蛋糕的每个属性提供 5 分制评分。最后,每个纸杯蛋糕可以切成 4 或 5 块。
问题是:为每个属性和每种风味(将“通配符”视为风味)得出具有统计意义的面包店排名的程序是什么?具体来说,我们想要对面包店进行 8 次排名:对于每种口味,我们希望按好坏对面包店进行排名(好是属性之一),对于每个属性,我们希望对所有口味的面包店进行排名(即,独立于风味,即聚合所有口味)。大奖授予善良属性排名第一的面包店。
当然,概括这一点的奖励积分。
这将在大约 12 小时内发生,因此如果在此期间没有人回答,我将发布我们最终会做的事情作为答案。
PS:这是关于它的派对后博客文章:http: //gracenotesnyc.com/2009/08/05/gracenotes-nycs-cupcake-cagematch-the-sweetest-battle-ever/
sql-server - 从 SQL Server 全文搜索中识别准确的匹配项
我正在使用 SQL Server 2008 全文搜索,并加入 FreeTextTable 以确定结果的排名。
如何确定结果集是否准确匹配?
例如,对于一次搜索,我可能会得到以下结果:
排名范围的分布表明,一个结果比所有其他结果更相关,这表明排名靠前的结果很可能是搜索词的准确匹配。
但是对于另一个搜索,我可能会得到这个结果:
此结果集中的排名范围缺乏分布表明搜索结果不准确。
如何在结果中输出一个布尔值作为额外的列,指示排名的分布是否表明结果准确?
谢谢!
sql - 将 SQL 排名函数与派生列一起使用
我正在尝试对按派生列排序的查询使用 SQL Server 2008 排名函数。这是一个例子
我总是收到一个错误无效的列名“points”,因为根据我所读到的内容,OVER 函数不适用于别名。
有谁知道我可以检索按派生列排序的结果集的顺序行号的替代方法?
c++ - 查找范围内的最大和第二大元素
如何在不删除最大元素并再次搜索的情况下找到上述内容?有没有更有效的方法来做到这一点?这些元素是否重复并不重要。