【发布时间】:2013-03-18 00:40:08
【问题描述】:
我正在开发 Mahout,当我尝试更改我的 csv 时发现了一个问题,之前它给了我正确的建议。
示例代码:
model = new FileDataModel(new File("E:\\WriteTest.csv"));
UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
UserNeighborhood neighborhood = new NearestNUserNeighborhood(2,similarity,model);
Recommender recomender = new GenericUserBasedRecommender(model,neighborhood, similarity);
List<RecommendedItem> recommendations = recomender.recommend(1,1);
for(RecommendedItem recommendation: recommendations){
System.out.println(recommendation);
}
我刚刚更新了我的 csv 的值,它已经停止给我建议。
CSV 没有给我任何结果:
1,13,9.9
1,26,9.0
1,40,4.0
2,83,9.9
2,167,9.0
2,250,4.0
3,91,9.9
3,167,9.0
3,274,4.0
4,91,9.9
4,167,2.0
CSV 这给了我结果:
1,101,5.0
1,102,3.0
1,103,3.0
2,101,5.0
2,102,2.5
2,103,3.0
2,104,2.1
3,101,5.0
3,102,2.5
3,105,4.0
3,107,5.0
4,102,2.0
4,104,4.0
4,105,2.5
4,106,3.0
4,107,2.6
5,101,5.0
5,102,3.4
5,104,2.5
5,105,2.5
5,106,1.0
分别在控制台输出:
第一个数据集的结果 2011 年 8 月 27 日上午 2:45:06 org.slf4j.impl.JCLLoggerAdapter 信息信息:为 文件 WriteTest.csv 2011 年 8 月 27 日上午 2:45:06 org.slf4j.impl.JCLLoggerAdapter 信息信息:正在读取文件信息... 2011 年 2 月 27 日上午 2:45:06 org.slf4j.impl.JCLLoggerAdapter 信息信息: 阅读:2011 年 8 月 27 日 2:45:06 AM org.slf4j.impl.JCLLoggerAdapter info INFO:处理了 4 个用户
我期待第 167 号项目,但没有找到任何推荐
第二个数据集的输出:
Aug 27, 2011 2:52:42 AM org.slf4j.impl.JCLLoggerAdapter info
INFO: Creating FileDataModel for file WriteTest.csv
Aug 27, 2011 2:52:42 AM org.slf4j.impl.JCLLoggerAdapter info
INFO: Reading file info...
Aug 27, 2011 2:52:42 AM org.slf4j.impl.JCLLoggerAdapter info
INFO: Read lines: 21
Aug 27, 2011 2:52:42 AM org.slf4j.impl.JCLLoggerAdapter info
INFO: Processed 5 users
RecommendedItem[item:105, value:3.25]
【问题讨论】: