Я пытаюсь создать простую рекомендательную систему, используя knn.
Допустим, у меня есть таблица.:
User | Book1 | Book2 | Book3 | Book4 | Book5 | Book6 | Book7 |
1 | 5 | ? | 3 | ? | 4 | 3 | 2 |
2 | 3 | 4 | ? | 2 | 3 | 4 | 2 |
3 | 4 | 2 | 1 | ? | ? | 3 | 3 |
4 | 2 | 5 | 3 | ? | 4 | 1 | 1 |
5 | 1 | 1 | 4 | 3 | 1 | ? | 1 |
6 | 5 | 2 | 5 | 4 | 4 | 2 | ? |
Итак, если найти возможные баллы для пользователя 1, я подумал, что просто возьму абсолютную разницу между книгами, которые пользователь 1 читал с другими пользователями. Затем я бы использовал эту разницу, чтобы узнать, какой пользователь из этого списка «ближайший» к пользователю 1. Но в реальной ситуации было бы больше?/неизвестных оценок. Итак, как мне справиться с этими неизвестными оценками при использовании knn?
У меня нет кода, так как я еще не совсем понял, как это реализовать.
Любая помощь приветствуется!