我修改了NearestNUserNeighborhoud,为属于信任网络的用户增加了一些额外的价值。信任网络位于数据库(MySQL)中。
当我为某些用户推荐项目时,它运作良好并提供建议。
然而,当我评估RMSE在对用户的数据库/信任网络中的用户进行比较时非常慢。 (它运行了数千个选择语句)
第一个数据模型位于csv文件上,它位于userid itemid rating的形式上。数据库中的数据模型是truster trustee形式。
您建议在合理的时间内评估RMSE?
答案 0 :(得分:1)
mahout评估算法可以利用并行处理。您可以在具有更多内核的更大机器上运行它。但是,似乎您的问题是数据库访问。确保您有一个prepare语句并只调用数据库。 (不要一直做准备声明)。
更好的解决方案是在Map中加载您的信任用户在内存中(使用Trove library,它消耗更少的内存),并在内存中进行检查,而不是从数据库中进行检查。