推荐系统:简单的基于用户的协同过滤,可精确评估和召回



我正在寻找一个非常简单的Java基于用户的协作过滤实现。我想用电影镜头数据集评估这个CF的精度和召回率。我已经看到性能(F1)应该在20%到30%左右(皮尔逊相似性和KNN)。

这个简单的框架是否存在于精度和召回代码的评估中?

Apache Mahout会做你在这里提到的一切。它是基于Java的,并支持基于用户的协作过滤(以及其他)与GenericUserBasedRecommender。它是一种 k 最近邻算法,您可以将相似性实现(如 PearsonCorrelationSimilarity 等)插入其中。

查看org.apache.mahout.cf.taste包和子包。在.impl.eval子包中找到GenericRecommenderIRStatsEvaluator。这将运行报告精度、召回率和 F1 的测试。

最后,已经有一些基于GroupLens的工作示例 mahout-examples .

你试过RapidMiner吗?如果您有兴趣,只需尝试诸如评估精度和召回之类的事情,而无需专注于编码。这就是适合您的工具。网络上有很好的信息,甚至是纸质和YouTube视频教程,都可以为您提供帮助。

最新更新