【发布时间】:2015-06-29 19:04:56
【问题描述】:
我正在读取大约 700 万行数据,当我重新启动我的应用程序时,加载所有内容需要将近两分钟。我正在尝试找出加快速度的最佳方法,以便最多只需要几秒钟即可重新启动应用程序。以下是我希望加快速度的代码以及当前所需的时间:
// Creating data model - this takes about 1.77 minutes
DataModel datamodel = new FileDataModel(new File("datafile"));
// ItemSimilarity object - this takes about 1 millisecond
ItemSimilarity similarity = new TanimotoCoefficientSimilarity(datamodel);
// Recommender - this takes about 3 milliseconds
ItemBasedRecommender irecommender = new GenericBooleanPrefItemBasedRecommender(datamodel, similarity);
// List of Recommendations - this takes about 365 milliseconds
List<RecommendedItem> irecommendations = irecommender.mostSimilarItems(item, amount);
我想知道是否:
- 有一种方法可以将
DataModel输出到另一个文件,这样我就可以直接读取它,而不必每次都创建它? - 如果可以的话,是否可以将
ItemSimilarity中的数据输出到另一个文件,然后将其读入,而不是每次都创建DataModel并计算ItemSimilarity?
【问题讨论】:
标签: mahout recommendation-engine mahout-recommender