Вы, видимо, иронизируете.
Гораздо проще сравнивать не исходные массивы данных, а окончательный результат, и уже по нему можно сделать выводы о корректности применяемой модели. Берем, например, первые пять фильмов топа и смотрим мою оценку и прогнозируемую (в скобках):
1. Побег из Шоушенка - 7 (9.22)
2. Зеленая миля - 6 (8.81)
3. Форрест Гамп - 7 (9.10)
4. Леон - 6 (8.95)
5. Список Шиндлера - 8 (9.22)
Думаю, все ясно без слов. В принципе, прогнозируемые оценки и раньше были у меня завышены, но не более чем на 1 балл, теперь же расхождение в 2 балла стало нормой.
Я даже могу предложить решение проблемы. Ясно, что у каждого своя система оценок: кто-то ставит 10-ку любому понравившемуся фильму, кто-то 10-к принципиально не ставит. Это, однако, отнюдь не означает, что у этих двух людей разные вкусы. Если, например, я понижу всем отсмотренным мной фильмам оценку на балл, то очевидно, что мои вкусы никак не поменялись и проценты совпадения оценок с другими пользователями должны остаться в точности такими же. На деле же, наверняка, список друзей по интересам поменяется кардинально. Чтобы этого не было, нужно сравнивать не абсолютные оценки, а относительные (отнесенные к средней оценке данного пользователя). Соответственно, при подсчете прогнозируемой оценки нужно делать обратную поправку, т.е. к вычисленной по друзьям абсолютной оценке прибавлять (вычитать) разницу между средней оценкой всех друзей и средней оценкой того пользователя, для которого делается прогноз. В этом случае должны получаться правильные предсказания вне зависимости от применяемой пользователем системы оценок.