【发布时间】:2015-11-09 12:46:29
【问题描述】:
以下是使用 mahout 进行用户推荐的代码。
DataModel dm = new FileDataModel(new File(inputFile));
UserSimilarity sim = new LogLikelihoodSimilarity(dm);
UserNeighborhood neighborhood = new NearestNUserNeighborhood(100, sim,
dm);
GenericUserBasedRecommender recommender = new GenericUserBasedRecommender(
dm, neighborhood, sim);
生成建议后,我正在尝试将其写入文件,如下所示:
FileWriter writer = new FileWriter(outputFile);
for (LongPrimitiveIterator userIterator = dm.getItemIDs(); userIterator.hasNext();) {
long user = (long) userIterator.next();
List<RecommendedItem> recs = recommender.recommend(user, numOfRec );
for (RecommendedItem item : recs) {
writer.write(user + "," + item.getItemID() + ","
+ item.getValue()+"\n");
}
}
writer.close();
此代码 - 写入文件需要大量时间。如何加快写入操作?
【问题讨论】:
-
通过使用条件/过滤器等减少 fwriter 必须处理的最终数据量。
-
@TheLaw,你能举个条件/过滤器的例子吗?
-
不要将
String与+串联使用,而是使用不同的write调用。 -
我投票结束这个问题,因为它属于codereview.stackexchange.com
-
@JordiCastilla,我将问题移至代码审查部分。
标签: java apache file mahout mahout-recommender