【发布时间】:2020-03-31 14:49:41
【问题描述】:
我们有一个电子游戏玩家的 Elo 评级系统(如下所示),并希望将其转换为 5 星评级,范围为 [3.00, 5.00]。转换应保持以下四个约束。也就是说,我们要确保评分在玩家之间“分布良好”。
- 0 - 25 % 的玩家获得 => 3.0 - 3.5
- 25 - 50 % 的玩家获得 => 3.5 - 4.0
- 50 - 75 % 的玩家得到 => 4.0 - 4.95
- 75 - 100 % 的玩家获得 => 4.95 - 5.0
Elo 评级和所需的转换五星评级示例:
elo_ratings = [1295, 1497, 1014, 967, 1021, 1034, 1162, 1198, 1374, 1242, 1292, 1096, 1339, 1365, 1188, 1075, 1344, 1040, 1334, 1513, 1362, 1038, 1177, 1190, 1583, 1551, 1558, 1245, 1202, 1285, 1171, 1223, 1274, 1514, 950]
#ranging from 3 to 5
five_star_ratings = [3.52, 4.10, 3.2, ...]
谁能帮助或提供一些关于数学或实现的信息?
【问题讨论】:
-
确定这是一个可能的解决方案。但是,如果 Elo 评分是左右倾斜的,那么简单地划分为四个子区间将使大多数玩家处于某个评分。例如,如果 Elo 评分是正确的,可能大多数玩家会得到 [4.5, 5.0] 评分。但是我们希望在@JohnColeman 的玩家之间创造一个良好的评分分布,谢谢
标签: python list math rating percentile