У меня есть логический/двоичный код, где идентификатор клиента и продукта обнаружен, когда клиент действительно купил продукт и не найден, если клиент его не купил. Набор данные представлены следующим образом:Использование сходства косинуса с двоичными данными - Mahout
Я пробовал различные подходы, как GenericBooleanPrefUserBasedRecommender с TanimotoCoefficient или LogLikelihood сходством, но я также попытался GenericUserBasedRecommender с Uncentered косинус подобием, и это дало мне самую высокую точность и отзывает 100% и 60% соответственно.
Я не уверен, имеет ли смысл использовать Uncentered Cosine сходство в этой ситуации, или это неправильная логика? и что делает Uncentered Cosine Similairty с таким набором данных.
Любые идеи были бы очень оценены.
спасибо.
Спасибо так много. У меня нет проблем с высокой размерностью, так как мои данные не такие огромные, у меня всего около 3000 строк, и я использую SAP HANA, которая является вычислительной БД в памяти. Я тоже так думал, что точность никогда не может быть на 100%, моя самая большая проблема всегда связана с представлением данных, так как у меня есть все предпочтения 1. Можно ли представлять такие логические данные, как это, или Я включаю продукты, которые клиенты не покупали, и установили их в 0? Может быть, вы можете предоставить мне пример для бинарного набора данных, я бы очень признателен. – user2255207
Использование универсального рекомендателя считается, что любой элемент, с которым пользователь не взаимодействует, считается 0. Все, что вам нужно сделать, это отправить события взаимодействия рекомендателю, привязанному к пользователю, периодически обучать данные, затем запрашивать идентификатор пользователя или элемента. Нет необходимости в переводе id, как старый код Mahout, и нет необходимости перечислять всех пользователей элементов. Они определяются из данных взаимодействия. Также вы можете использовать много событий, даже данные профиля пользователя. – pferrel