Матричная факторизация нового пользователя

Может ли кто-нибудь направить меня в библиотеку 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);