Матричная факторизация нового пользователя
Может ли кто-нибудь направить меня в библиотеку Python (или документ или исходный код для другого языка) для моего случая использования? Это то, что у меня есть куча данных о пользователях и их "оценках" для большинства из ~100 объектов. Я проведу матричную факторизацию этих данных и получу разложение на две матрицы скрытых факторов.
Я хочу иметь рекомендательный веб-сайт, на котором пользователю (я могу получить его данные) рекомендуется объект, который, по мнению моей системы, ему нравится. Например, у него 10 баллов за X и 20 за Y, но моя система ожидает, что он получит 20 баллов за x и 20 за Y на основе наших текущих матриц и данных нового пользователя, поэтому он возвращает X в качестве рекомендации.
По сути, как только я научился матричной факторизации, как мне общаться с новыми пользователями? Это то, как я должен использовать матричную факторизацию для совместной фильтрации? Спасибо!
1 ответ
Если вы любите использовать Python, PCA- реализация scikit доступна. Вы можете найти использование ниже;
http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html
Если вы в порядке с другими языками (так как вы сказали; "или документ или исходный код для другого языка"), вот пример с Apache Mahout (написанный на Java).
ParallelSGDFactorizer factorizer=new ParallelSGDFactorizer(dataModel, numFeatures, lambda, numEpochs);
SVDRecommender recommender =new SVDRecommender(dataModel,factorizer,new AllUnknownItemsCandidateItemsStrategy());
recommender.recommend(1,20);