我正在使用apache mahout库进行推荐,但我无法理解它的工作,因为它在某些情况下有效,并且对他人不起作用。i使用Apache Mahout 0.12.2 Java中的版本。
代码
public class SampleRecommender {
public static void main(String[] ars) throws IOException, TasteException
{
DataModel dataModel = new FileDataModel(new File("E:\Rakshit\Recommender\stackdata.csv"));
UserSimilarity similarity = new PearsonCorrelationSimilarity(dataModel);
UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, dataModel);
UserBasedRecommender recommender = new GenericUserBasedRecommender(dataModel, neighborhood, similarity);
List<RecommendedItem> recommendations = recommender.recommend(3,3);
for(RecommendedItem item : recommendations)
{
System.out.println(item);
}
}
}
例如,对于以下数据,它不起作用
3,101,5.0
3,102,5.0
3,104,5.0
4,102,2.0
4,104,4.0
4,105,2.5
4,107,3.0
5,101,5.0
5,102,5.0
5,104,5.0
5,105,4.0
对于此数据,它起作用
3,101,5.0
3,102,2.0
3,105,2.5
4,102,2.0
4,104,4.0
4,105,2.5
4,107,3.0
5,101,5.0
5,102,3.4
5,104,2.5
5,105,2.5
输出
RecommendedItem[item:104, value:3.3029697]
两个数据的差异在于用户ID 3和用户ID 5
的评分值中任何帮助都将不胜感激
您使用的Mahout代码将很快被弃用。但是,Mahout具有更新的更好版本。答案在这里也是一个类似的问题:
apache mahout不提供任何建议