Apache mahout评估速度极慢 - 修改后的NearestNUserNeighborhoud

时间:2014-08-01 11:24:56

标签: mysql mahout evaluation recommendation-engine mahout-recommender

我修改了NearestNUserNeighborhoud,为属于信任网络的用户增加了一些额外的价值。信任网络位于数据库(MySQL)中。

当我为某些用户推荐项目时,它运作良好并提供建议。

然而,当我评估RMSE在对用户的数据库/信任网络中的用户进行比较时非常慢。 (它运行了数千个选择语句)

第一个数据模型位于csv文件上,它位于userid itemid rating的形式上。数据库中的数据模型是truster trustee形式。

您建议在合理的时间内评估RMSE?

1 个答案:

答案 0 :(得分:1)

mahout评估算法可以利用并行处理。您可以在具有更多内核的更大机器上运行它。但是,似乎您的问题是数据库访问。确保您有一个prepare语句并只调用数据库。 (不要一直做准备声明)。

更好的解决方案是在Map中加载您的信任用户在内存中(使用Trove library,它消耗更少的内存),并在内存中进行检查,而不是从数据库中进行检查。