矩阵分解新用户

时间:2016-04-12 02:36:49

标签: python machine-learning recommendation-engine collaborative-filtering matrix-factorization

对于我的用例,有人可以指导我使用Python库(或其他语言的纸质或源代码)吗?这就是我有大量关于用户的数据以及大约100个对象的“分数”。我将对这些数据运行矩阵分解,并将其分解为两个潜在因子矩阵。

我希望有一个推荐网站,推荐用户(我可以获取他们的数据)我的系统认为他们想要的对象。例如。 X的分数为10,Y的分数为20,但根据我们当前的矩阵和新用户的数据,我的系统期望他得到20分为x和20分为Y,所以它返回X作为推荐。

基本上,一旦我学会了矩阵分解,我该如何处理新用户?这是我应该如何使用矩阵分解进行协同过滤?谢谢!

1 个答案:

答案 0 :(得分:0)

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);