【发布时间】:2017-04-18 14:12:20
【问题描述】:
我正在使用 Apache Mahout 库进行推荐,但我无法理解它的工作原理,因为它适用于我的某些案例,但不适用于其他案例。 我在 Java 8 中使用 Apache Mahout 0.12.2 版本。
代码
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]
两个数据的区别在于userID 3和userID 5的评分值
任何帮助将不胜感激
【问题讨论】:
-
我很乐意提供帮助,但这是一个非常糟糕的问题。我还不打算投反对票,但我们需要很多关于你所做的事情、代码、CLI 驱动程序的信息? Mahout版本?火花版?等等
标签: apache mahout mahout-recommender