我有一个用户项目对流,根据最近的6M记录持有一个块,并每分钟更新一次。我不喜欢在这些重建之间,一些重要的数据可能未被使用。例如,新用户已加入系统,但模型还不知道他。我找到了类PlusAnonymousConcurrentUserDataModel,它允许向模型添加少量条目并获得更准确的建议。文档为它提出了更受约束的使用场景:我必须:
- 分配临时用户
- 添加额外数据
- 获取推荐
- 然后释放用户和额外数据
是否可以使用此类迭代收集数据,直到计时器实际重建模型?正确的方法是什么?PlusAnonymousConcurrentUserDataModel似乎有点用于不同的目的。
Mahout 的这一部分非常古老,已被弃用。我认为它甚至不在 0.14.0 版本中,您必须从源代码构建。
Mahout现在使用一种全新的技术进行推荐。新算法称为相关交叉生成(CCO(。您使用的旧方法没有使用您概述的实时输入。CCO 可以向尚未内置到模型中的匿名用户推荐,只要存在某种形式的行为数据。
实现 CCO 的体系结构需要数据库中的数据存储和 KNN 引擎(搜索引擎(来进行模型查询。这些都打包在 Apache PredictionIO + 通用推荐器模板中。
社区对通用推荐器本身的支持可以在这里找到:https://groups.google.com/forum/#!forum/actionml-user 或其他项目的邮件列表中。