1
votes

can somebody direct me to a Python library (or a paper or source code for another language) for my use case? This is that I have a bunch of data on users and their 'scores' for most of ~100 objects. I will have run matrix factorization on this data, and gotten a decomposition into two matrices of latent factors.

I want to have a recommendation website where a user (I can get their data) is recommended the object my system thinks they would like. E.g. he has scores of 10 for X and 20 for Y, but my system expects him to have scores of 20 for x and 20 for Y based on our current matrices and the new user's data, so it returns X as a recommendation.

Essentially, once I've learned a matrix factorization how do I deal with new users? Is this how I should be going about using matrix factorization for collaborative filtering? Thanks!

1

1 Answers

0
votes

If you like to use Python, PCA implementation of scikit is available. You may find the usage below;

http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA

If you are okay with other languages (since you said; "or a paper or source code for another language"), here is an example with Apache Mahout (written in Java).

ParallelSGDFactorizer factorizer=new ParallelSGDFactorizer(dataModel, numFeatures, lambda, numEpochs);
SVDRecommender recommender =new SVDRecommender(dataModel,factorizer,new AllUnknownItemsCandidateItemsStrategy());
recommender.recommend(1,20);