Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rating 如何将评分标准化为1到5分?_Rating_Normalize - Fatal编程技术网

Rating 如何将评分标准化为1到5分?

Rating 如何将评分标准化为1到5分?,rating,normalize,Rating,Normalize,在雅虎!电影数据集评分范围为1到13。在这里,1代表好的评级,13代表电影的最低评级。 如果为0,则表示用户未对该电影评分 rating { 13 12 11 10 9 8 7 6 5 4 3 2 1 0} OR rating { A+ A A- B+ B B- C+ C C- C+ D D- F 0} eg. user m1 m2 m3 1 2 3 13 2 0 1 7 但我不知道如何将1到13分的评分标准化为1到5分。 简单地说,我可以

在雅虎!电影数据集评分范围为1到13。在这里,1代表好的评级,13代表电影的最低评级。 如果为0,则表示用户未对该电影评分

rating { 13 12 11 10 9 8  7  6 5  4  3 2  1 0} OR 
rating { A+ A  A- B+ B B- C+ C C- C+ D D- F 0}

eg. user m1 m2 m3
     1    2  3 13
     2    0  1  7
但我不知道如何将1到13分的评分标准化为1到5分。 简单地说,我可以做一件事,即

{A+,A,A-} = 5
{B+,B,B-} = 4
{C+,C,C-} = 3
{D+,D,D-} = 2
{F}       = 1

是否有其他方法或使用任何公式?

如果允许使用浮点,只需乘以5/13即可。如有必要,四舍五入到整数


如果5是最好的,从6中减去结果(用If子句处理0)

谢谢您的回答。不,先生,不允许浮动值。比较时,它会产生错误。然后您应该在运行时取整或定义手动计算的数组,例如:[0,1,1,2,2,2,3,3,3,4,4,4,5,5],不幸的是,1..5中的所有值都不能从1..13中相同数量的值映射到。这是无法更改的,因为13不是5的倍数,只需使用旧分数作为索引访问数组即可正常化。