我正在尝试在 mahout 中使用基于项目的推荐器。它包含 250 万用户,项目交互,没有偏好值。大约有 100 个项目和 10 万用户。推荐大约需要 10 秒。而对于相同的数据,当我使用基于用户的推荐器时,它只需要不到一秒钟的时间。
ItemSimilarity sim = new TanimotoCoefficientSimilarity(dm);
CandidateItemsStrategy cis = new SamplingCandidateItemsStrategy(10,10,10,dm.getNumUsers(),dm.getNumItems());
MostSimilarItemsCandidateItemsStrategy mis = new SamplingCandidateItemsStrategy(10,10,10,dm.getNumUsers(),dm.getNumItems());
Recommender ur = new GenericBooleanPrefItemBasedRecommender(dm,sim,cis,mis);
我阅读了@Sean 的答案之一,他建议将上述参数用于 SamplingCandidateItemsStrategy。但我不确定它到底做了什么。
编辑:2.5 M 是总用户-项目关联,有 100K 用户,项目总数为 100。