Не совсем корректная, на мой взгляд, интерпретация метода kNN.
Идея заключается в том, чтобы зафиксировать 7 самых сходных пользователей для каждого целевого пользователя и пользоваться при расчете рейтинга целевого фильма ТОЛЬКО их рейтингами . Не важно, сколько из сходных пользователей поставили целевому фильму оценку: 7, 5, 2 или 0. В последнем случае мы просто не можем предсказать рейтинг целевого фильма для целевого пользователя с помощью нашего подхода. Если пытаться добавлять других пользователей, чтобы получить ровно 7 рейтингов для расчета, то теряется весь смысл метода kNN, который заключается в предварительной кластеризации пользователей по интересам.
Впрочем, в вашем случае исправить ситуацию очень просто. Необходимо просто сдвинуть строчку, упомянутую выше, на один таб влево :)
Recommend/src/utils.py
Line 89 in 9d540fe
Не совсем корректная, на мой взгляд, интерпретация метода kNN.
Идея заключается в том, чтобы зафиксировать 7 самых сходных пользователей для каждого целевого пользователя и пользоваться при расчете рейтинга целевого фильма ТОЛЬКО их рейтингами . Не важно, сколько из сходных пользователей поставили целевому фильму оценку: 7, 5, 2 или 0. В последнем случае мы просто не можем предсказать рейтинг целевого фильма для целевого пользователя с помощью нашего подхода. Если пытаться добавлять других пользователей, чтобы получить ровно 7 рейтингов для расчета, то теряется весь смысл метода kNN, который заключается в предварительной кластеризации пользователей по интересам.
Впрочем, в вашем случае исправить ситуацию очень просто. Необходимо просто сдвинуть строчку, упомянутую выше, на один таб влево :)