我正在寻找基于用户的协作过滤的 Java 中非常简单的实现。我想用 movielens 数据集评估这个 CF 的精度和召回率。我已经看到性能(F1)应该在 20% 到 30% 左右(具有 Pearson 相似性和 KNN)。
这个简单的框架是否存在于精度和召回代码的评估中?
我正在寻找基于用户的协作过滤的 Java 中非常简单的实现。我想用 movielens 数据集评估这个 CF 的精度和召回率。我已经看到性能(F1)应该在 20% 到 30% 左右(具有 Pearson 相似性和 KNN)。
这个简单的框架是否存在于精度和召回代码的评估中?
Apache Mahout可以完成您在此处提到的所有操作。它是基于 Java 的,并支持基于用户的协同过滤(以及其他)GenericUserBasedRecommender
。它是一种 k 最近邻算法,您可以在其中插入相似性实现PearsonCorrelationSimilarity
等。
查看org.apache.mahout.cf.taste
包和子包。在.impl.eval
子包中找到GenericRecommenderIRStatsEvaluator
. 这将运行一个报告精度、召回率和 F1 的测试。
最后,已经有一些基于GroupLens
in 的工作示例mahout-examples
。
你试过RapidMiner吗?如果您有兴趣,只需尝试评估精度和召回等事情,而无需专注于编码。这就是你的工具。网络上有很好的信息,甚至纸张和 youtube 视频教程也可以帮助您。