标签: ranking

基于混合数据类型的多标准交替排序

我正在构建一个推荐系统,它可以对汽车替代品进行基于多标准的排名。我只需要以有意义的方式对替代方案进行排名。我有办法通过表格询问用户问题。

每辆车将根据以下标准进行评判:价格、尺寸、电动/非电动、距离等。正如您所看到的,它混合了各种数据类型,包括序数、基数(计数)和定量数据。

我的问题如下:

  1. 我应该使用哪种技术将所有模型合并到一个可以排名的分数中。我查看了标准化加权和模型,但我很难将权重分配给序数(排名)数据。我尝试使用更智能的方法为序数数据分配数值权重,但我不确定它是否合适。请帮忙!

  2. 在有人帮助我找到最佳排名方法的答案之后,如果最佳排名替代方案在绝对范围内不够好怎么办?我如何检查以进一步扩大替代集?

3.由于上面提到的标准(价格等)都在不同的单位上,是否有一个好的方法来标准化属于不同尺度的混合数据类型?鉴于数据属于许多不同的类型,这样做是否有意义?

对这些问题的任何帮助将不胜感激!谢谢你!

python statistics recommendation-engine ranking mcdm

1
推荐指数
1
解决办法
1238
查看次数

如何根据另一个数组对数组的元素进行排序(排名)?

我的 C# 项目中必须具有相同索引的元素之间存在关系的数组:

简化示例如下:

Array_1 [0] =902;
Array_1 [1] =109;
Array_1 [2] =205;
Array_1 [3] =187;
Array_1 [4] =440;
Array_1 [5] =508;


Array_2 [0] ="Ford";
Array_2 [1] ="Opel";
Array_2 [2] ="Kia";
Array_2 [3] ="Renault";
Array_2 [4] ="BMW";
Array_2 [5] ="Toyota";
Run Code Online (Sandbox Code Playgroud)

我必须根据Array_1的值排名(从低到高)对Array-2进行排序。结果将写入Array_2_sorted。这意味着: Array_1 的最低值是 Array_1[1] (109) --> 所以 Array_2[1] (Opel) 应该是 Array_2_sorted[0]

下一个更高的值是 Array_1[3] (187) --> 所以 Array_2[3] (Renault) 应该是 Array_2_sorted[1]

下一个更高的值是 Array_1[2] (205) --> 所以 Array_2[2] (Kia) 应该是 Array_2_sorted[2]

下一个更高的值是 Array_1[4] (440) --> 所以 Array_2[4] (BMW) 应该是 Array_2_sorted[3]

...

如何在 …

c# arrays sorting ranking

1
推荐指数
1
解决办法
86
查看次数

查询获得第三高分

我有一个student_table表,其中包含两列student_name(带有uniqe约束),student_marks.从这张表中,我需要获得拥有第三高分的学生的记录.

我试过这个,但这是不正确的:

select * from student_table orderby(marks) enum(marks)=3;
Run Code Online (Sandbox Code Playgroud)

如何更正此查询?

mysql sql ranking

0
推荐指数
1
解决办法
4537
查看次数

如何在PHP中建立排名系统

我有问题..在我的情况下,我做冠军..你知道,胜利者是由最高价值决定的..示例:

$sql = "SELECT bla bla bla FROM `user` ORDER BY `point` DESC";
$result = mysql_query($sql);
$i=0;
while($row = mysql_fetch_array($result)) {
    $1++;
    echo "rank ".$i." is ".$row['name']." with point ".$row['point'].";
}
Run Code Online (Sandbox Code Playgroud)

它会显示出来

  • 等级1是abc,第10点
  • 等级2用点9定义
  • 等级3是第8点的ghi
  • 等级4是第7点的jkl
  • 等级5是第7点的mno
  • 等级6是点3的pqr
  • 等级7是第1点的stu

这个问题..

  1. 看看结果..等级4和等级5具有相同的点..如何使他们在相同的位置?
  2. 如何自动检测等级1的冠军头衔是大老板,等级2是老板,等级7是工人?
  3. 怎么告诉前:你在6号?

php ranking

0
推荐指数
1
解决办法
1万
查看次数

R中的rank()函数是具有浮点而不是整数的排名对象

我对R很陌生,所以对于很多有经验的程序员来说这似乎是微不足道的,对不起提前!

我有一个长度为8的数字向量,如下所示:

data <- c(45, 67, 23, 24, 5, 23, 45, 23)

当我输入:时rank(data),R返回:[1] 6.5 8.0 3.0 5.0 1.0 3.0 6.5 3.0

然而,根据我(非常基本的)对等级的理解,我希望R只返回给我整数......例如:

[1] 6 8 2 5 1 3 7 4

怎么能rank()告诉我第一个元素data有浮点排名而不是整数排名?是因为有data重复的价值观,所以rank()试图以一种我没想到的方式处理关系?如果是这样,请告诉我如何解决这个问题,以便我可以获得看起来像我之前预期的输出.此外,rank()非常感谢有关如何处理NA值的任何信息.可以使用的基本描述rank()以及可以使用的铃声和口哨将是太棒了!我在youtube上寻找视频,搜索stackoverflow无济于事!非常感谢.

floating-point double r ranking rank

0
推荐指数
1
解决办法
2231
查看次数

python中的排名算法

我有一个包含以下内容的熊猫数据框:

Athlete A         Athlete  B     Athlete C
speed=10          speed=12       speed=6
endurance=60      endurance=59   endurance=64
Run Code Online (Sandbox Code Playgroud)

我想根据他们的速度和耐力对这三位运动员的力量进行排名。我想给耐力稍微大一点的权重(0.6)。是否有任何python库可以根据多个条件进行排名?

python algorithm ranking dataframe pandas

0
推荐指数
1
解决办法
5119
查看次数

R中sort(),rank()和order()之间的区别

R中的sort(),rank()和order()之间有什么区别?你能举例说明吗?

sorting r ranking difference

0
推荐指数
1
解决办法
2474
查看次数

如何使您的排名值在 R data.table 中显示整数(不带小数)

我必须对此数据集中的几个变量排序的数据集进行排名,并按其中的另一个变量分组。当我在 data.table 上使用排名方法时,排名值是小数。我需要它们是没有小数部分的整数。

波纹管,我正在提供我需要的摘要。我正在从本网站的另一个问题中复制其他人的示例(也与排名方法有关)。我发现这个问题的答案很有用,但它仍然没有提供使排名结果成为没有小数的整数的方法。这就是为什么我在这里复制它并将其作为这个问题的起点(因为不允许在一个答案下提出不同的问题)。

我需要根据几个变量进行排名,按一个(或几个变量)分组,然后得到一个没有小数的整数排名。

这是其他人的例子:

他创建了数据表:

library(data.table)

t1 <- data.table (id = c('11', '11', '11', '22','22',
                         '88', '99','44','44', '55'),
                          date = as.Date(c("01-01-2016", 
                                "01-02-2016", 
                                "01-02-2016",
                                "02-01-2016", 
                                "02-02-2016"),
                              format = "%m-%d-%Y"))


setkey(dt1, date)
setkey(dt1, id)
dt1
    id       date

1: 11 2016-01-01

2: 11 2016-01-02

3: 11 2016-01-02

4: 22 2016-02-01

5: 22 2016-02-02

6: 44 2016-01-02

7: 44 2016-02-01

8: 55 2016-02-02

9: 88 2016-01-01

10: 99 2016-01-02
Run Code Online (Sandbox Code Playgroud)

在这里,他根据变量进行排名date并按以下分组id

dt1[, rank := frank(date), by = list(id)]
dt1 …
Run Code Online (Sandbox Code Playgroud)

r ranking data.table

0
推荐指数
1
解决办法
779
查看次数

SQL Server排名查询优化

我正在尝试优化查询以从DB获取特定国家/地区的用户的排名.目前看来效率很低.

我正在努力确定可以采取哪些措施来改进它.

这是当前的SQL:

SELECT COUNT(*) + 1
FROM leaderboard lb, users u
WHERE u.country = 'United States' 
  AND lb.id = u.id 
  AND lb.score + 1 > (SELECT lb2.score 
                      FROM leaderboard lb2
                      WHERE lb2.id = some_user_id);
Run Code Online (Sandbox Code Playgroud)

细节:

Users 表:

  • id 是主键
  • country 列已编入索引

Leadeboard 表:

  • id 是主键
  • score 列已编入索引

在此输入图像描述

执行计划显示2个警告:

没有统计数据的列:[dbo].[排行榜] .id(成本23%)

没有统计数据的列:[dbo].[用户] .id(成本28%)

sql t-sql sql-server query-optimization ranking

-1
推荐指数
1
解决办法
935
查看次数

创建表,显示各种变量与另一个系列的排序绝对相关性

我希望输出显示每个X变量的名称,它与另一个系列的签名相关性,以及它的绝对相关性,按降序绝对相关性排序.

使用以下代码,我能够计算序列(对象res1)和X变量(位于data2数据帧内)之间的相关性.

cor(data2, res1, method = c("pearson"))
Run Code Online (Sandbox Code Playgroud)

上面的代码生成了下面的输出,它在控制台中垂直显示.

         [,1]
x1 0.45683210
x2 0.62858863
x3 0.08457911
x4 0.41022052
Run Code Online (Sandbox Code Playgroud)

接下来,使用以下代码,我可以使用sort()函数按绝对值对这些相关性进行排名.

abs(cor(data2, res1, method = c("pearson")))
abs1<-abs(cor(data2, res1, method = c("pearson")))
sort(abs1, decreasing = TRUE)
Run Code Online (Sandbox Code Playgroud)

而且,我得到了以下输出.

[1] 0.62858863 0.45683210 0.41022052 0.08457911 
Run Code Online (Sandbox Code Playgroud)

我想生成一个看起来像表或数据帧的输出.

在第一列中,您将拥有X变量的标签.
在第二列中,您将具有绝对相关性.
在第三列中,您将获得实际的相关性.

并且,此垂直表格列表将按降序排列.我想我有我需要的所有信息.我只需要代码来生成指定的输出.

sorting r ranking correlation

-4
推荐指数
1
解决办法
155
查看次数