2017-06-20 10 views
0

Dans Yahoo! Le jeu de données de film l'échelle de notation est de 1 à 13. ici, 1 représentent la bonne estimation et 13 représentent la notation la plus basse au film. s'il y a 0 alors il représente que l'utilisateur n'a pas évalué ce film.comment normaliser la notation sur une échelle de 1 à 5?

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 

mais je ne sais pas comment normaliser notation à l'échelle de 1 à 13 dans une échelle de 1 à 5. simplement que je peux faire une chose à savoir

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

est-il autre méthode ou en utilisant une formule?

Répondre

0

Si des points flottants sont autorisés, il suffit de multiplier par 5/13. Arrondir aux nombres entiers si nécessaire.

Si 5 est le meilleur, Soustraire le résultat de 6 (poignée 0 avec une clause if)

+0

Merci pour votre réponse. Non monsieur, la valeur flottante n'est pas autorisée. au moment de la comparaison, cela créera des bugs. –

+0

Ensuite, vous devriez arrondir à l'exécution ou définir un tableau calculé manuellement, par exemple: [0,1,1,2,2,2,3,3,3,4,4,4,5,5] Malheureusement, toutes les valeurs de 1..5 ne peuvent pas être mappées à partir du même nombre de valeurs dans 1..13. Ceci ne peut pas être changé puisque 13 n'est pas un multiple de 5 Simplifiez-vous simplement en accédant au tableau avec l'ancien score comme index. –