问题标签 [ranking-functions]

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.

0 投票
1 回答
38964 浏览

sql - 为派生表计算 SQL Server ROW_NUMBER() OVER()

在其他一些数据库(例如 DB2 或 Oracle with )中,我可以在排名函数的子句中ROWNUM省略该子句。例如:ORDER BYOVER()

这在与有序派生表一起使用时特别有用,例如:

如何在 SQL Server 中进行模拟?我发现有人使用这个 技巧,但这是错误的,因为它对于派生表中的顺序的行为是不确定的:

一个具体的例子(可以在SQLFiddle上看到):

此外,在我的情况下,我不能重用派生表中的任何表达式来重现ORDER BY子句,因为派生表可能不可用,因为它可能是由某些外部逻辑提供的。

那么我该怎么做呢?我能做到吗?

0 投票
1 回答
569 浏览

php - 在 WordPress 足球池中添加分页

我正在使用 wordpress 插件来制作足球池。一个非常好的插件,但排名中没有分页。所以当你有超过 1000 名参与者时,你会得到一个很长的列表。

插件作者提供了一个可以用来创建分页的类。不幸的是,我的 php 知识对此很薄弱。

这是分页类:

这是用于排名的类:

在另一个类中,我发现了一个打印排名的函数:

我知道这是很多信息,可能没有人可以对这些信息做些什么,但如果有人可以帮助我,那就太好了。

0 投票
1 回答
2189 浏览

python - Python Pandas qcut 行为,观察数不能被箱数整除

假设我有一个 pandas 的美元值系列,并想使用qcut. 观察的数量不能被 9 整除。ntile对于这种情况,SQL Server 的函数有一个标准方法:它使 9 个组中的前n个观察值大于其余 (9 -n ) 个组。

我在 pandas 中注意到,哪些组有x 个观察与x + 1 个观察的分配似乎是随机的。我试图破译算法中的代码以弄清楚分位数函数如何处理这个问题,但无法弄清楚。

我有三个相关的问题:

  1. 那里有任何熊猫开发人员可以解释qcut的行为吗?哪些组获得更多的观察值是随机的吗?
  2. 有没有办法强制qcut行为类似于NTILE(即第一组得到x + 1 个观察值)?
  3. 如果对#2 的回答是否定的,关于函数的任何想法会表现得像NTILE吗?(如果这是一项复杂的工作,只需概述您的方法会有所帮助。)

下面是 SQL ServerNTILE输出的示例。

这是熊猫:

0 投票
2 回答
1156 浏览

java - 从尚未排序的 HashMap 中提取一个特定的“等级”,该 HashMap 还包含不同的值但相同的键或更好的相同计数;

我有这个 HashMap 包含单词和给定文本文件中每个单词的计数;

{word=1, word2=1, word3=2, word4=1, word5=1, word6=4, word7=1, word8=1};

我在其他主题中遵循您的建议;但我注意到,如果使用 fro example sorted Collections 并且我搜索一个特定的 KEY,在这种情况下它可能是 1 它只返回一个单词,而可以为同一个键返回更多值;

关键是在所有集合之间:

Lists Maps ArrayLists Trees HashMaps HashTables

哪个是最可取的使用?

在我的课堂上,用户将输入一个 int 并且该 int 将对应于第一个或第二个或第三个或第四个等等......文件中使用的单词基于计数和出现;

这很有挑战性

到目前为止,我已经设法将其存储在 hashmap 中,并最终通过 Desc Key 在 Tree 中排序;所以第一个元素会更大;但算法仍然需要更多的意义;

附言。我不期望解决方案或代码片段,而是一个好的输入开始......一个非常好的建议或最好遵循的方向;

0 投票
3 回答
1191 浏览

sql-server - Sql Server - 使用排名函数计算分区

考虑以下示例数据:

我正在尝试编写一个查询,该查询按名称 + 电子邮件对数据进行分区,然后为我提供每个分区中一行的索引和分区本身的数量(最后 2 列列出了预期的输出)。

我一直在尝试各种查询,使用 ROW_NUMBER 很容易生成 RowRank,但是我无法使用 4 个排名函数(NTILE、RANK、DENSE_RANK 或 ROW_RANK)中的任何一个来生成分区排名。我相信这应该是可能的,但我自己无法做到。

这是一个示例查询:

有人可以帮我获得正确的分区等级。

0 投票
1 回答
579 浏览

r - 不跳过 R 中位置的变量排名

我有一个看起来像这样的向量:

我正在尝试将其转换为一种非奥林匹克排名形式,其中平局仍然是平局,但即使在其上方有多个平局时,排名也保证相隔 1,因此:

而不是:

R 中是否已经有这样做的功能?我知道我可以将这些值转换为因子然后对因子进行排名,但这似乎有点迂回。(如果不是函数,这种排名有名称吗?)

(有趣:我以前没有注意到这一点,但看起来 rank 是幂等的,这有点酷:

)

0 投票
2 回答
45 浏览

matlab - 在MATLAB中对两个数字向量进行相对排名

我有两组数字,MATLAB.

数据是:

我从for/if/else命令开始,卡在中间。换句话说,我想通过MATLAB第一组 (x) 中的数字比第二组 ( y) 中的数字大多少倍来得到答案。

我开始进行排序等。

我愿意使用除这种排序之外的其他命令for/if/else,这并不重要,只需要在正确的方向上提供一些帮助。

0 投票
3 回答
3085 浏览

sql - 如何使用 SQL Server 2008 将学生分数分组为五分位数

谁能帮我把学生的分数分成五分之一?我认为 SQL Server 2012 中有一个功能,但我们仍然有t upgraded to it as we are using 2008R2. I triedNtile(5)`,但它没有产生所需的结果。我需要在 Quintile 列下方

0 投票
1 回答
639 浏览

mysql - 在平局的情况下按字段条件排序的MYSQL

我有一个这样的mysql表

我想根据 Descending 中的 COUNT 列对表格进行排序,如果出现平局,我想将 BRAND 列订购为 PORSCHE、BMW、HONDA、TOYOTA、MAZDA、HYUNDAI,因此结果将如下所示:

0 投票
1 回答
4667 浏览

python - NDCG(标准化贴现收益)是否存在缺陷?我已经计算了一些替代的排名质量衡量标准,但我无法得出正面或反面

我正在使用 python 来解决学习排名问题,并且我正在使用以下 DCG 和 NDCG 代码(来自http://nbviewer.ipython.org/github/ogrisel/notebooks/blob/master/Learning %20to%20Rank.ipynb )

以下是 3 个项目列表中最好和最坏情况的 DCG 值,没有重复排名...

我们可以使用这个指标来比较两个排名,看看哪个更好。但是,如果我计算 4 项列表的最坏情况......

4 项列表似乎不再与 3 项列表相提并论。

我还计算了两个替代 NDCG。NDCG2 将实现的 dcg 与机器人的最佳和最坏情况进行比较......

NDCG 将我的实际排名列表随机化 50 次,计算每个的 dcg,并将其与我的实际 DCG 进行比较。

在我的各种列表中,我得到以下指标......

  • NDCG:平均值为 0.87(听起来不错)
  • 斯皮尔曼等级:大约 0.25(并不令人惊讶,但有一些东西)
  • NDCG2:0.58(平均而言,比最差的 DCG 更接近最佳 DCG)
  • NDCG3:1.04(略好于随机排序的列表)

老实说,我无法对这些结果做出正面或反面。我的 NDCG 值看起来不错,但它们真的可以在列表中进行比较吗?替代指标是否更有意义?

编辑:在我的第一次随机比较中,我没有使用 np.copy()。因此,我的随机分数几乎总是 0.99。现在已经解决了,结果更有意义。