LibRec (https://guoguibing.github.io/librec/index.html) 是一个用于推荐系统的 Java 库(需要 Java 1.7 或更高版本)。它实现了一套最先进的推荐算法,旨在解决两个经典的推荐任务:评级预测和项目排名。
这里设计并提供了电影推荐系统。
请参考LibRec文档和API文档
距离上一个版本发布已经一年了。这一年,LibRec项目发生了很多变化,其中最重要的就是LibRec团队的制定。该团队凭借众多专家的智慧以及经验丰富、热情的贡献者的协作,推动了 LibRec 的发展。没有他们的巨大努力和勤奋,就不可能达到单个开发者所梦想的状态。
LibRec 2.0 并不是我们团队合作的结束,而只是更大目标的开始。我们的目标是不断提供 NEXT 版本,以获得更好的体验和性能。计划中有很多方向和目标,我们会尽力实现。收到所有 LibRec 用户的任何代码贡献、建议和评论总是令人兴奋的。
我们希望您喜欢新版本!
PS:关注我们微信,获取LibRec第一手最新资讯。
LibRec的流程如下所示。
通过行家
<dependency>
<groupId>net.librec</groupId>
<artifactId>librec-core</artifactId>
<version>2.0.0</version>
</dependency>
按套餐
您可以使用命令参数的配置来运行 LibRec:
librec rec -exec -D rec.recommender.class=itemcluster -D rec.pgm.number=10 -D rec.iterator.maximum=20
或来自配置文件:
librec rec -exec -conf itemcluster-test.properties
您可以使用LibRec作为项目的一部分,并使用以下代码来运行推荐器。
公共无效主(字符串[]参数)抛出异常{ // 推荐配置 配置conf = new Configuration(); 资源资源 = new Resource("rec/cf/userknn-test.properties"); conf.addResource(资源); // 构建数据模型 DataModel dataModel = new TextDataModel(conf); dataModel.buildDataModel(); // 设置推荐上下文 RecommenderContext 上下文 = new RecommenderContext(conf, dataModel); RecommenderSimilarity 相似度 = new PCCSimilarity(); 相似度.buildSimilarityMatrix(dataModel, true); context.setSimilarity(相似度); // 训练 推荐器recommender = new UserKNNRecommender(); 推荐者.推荐(上下文); // 评估 RecommenderEvaluator 评估器 = new MAEEvaluator(); 推荐者.评估(评估者); // 推荐结果 列表推荐项目列表=recommender.getRecommendedList(); RecommendedFilter 过滤器 = new GenericRecommendedFilter(); 推荐项目列表 = filter.filter(推荐项目列表); }
我们要感谢以下人员为 LibRec 贡献源代码,包括 Robin Burke 教授、Bin Wu、Diego Monti、Ge Zhou、Li Wenxi、Marco Mera、Ran Locar、Shawn Rutledge、ShuLong Chen、Tao Lian 、Takuya Kitazawa、洪兆华、谭家乐、Daniel Velten、钱少峰等。非常感谢戴立军先生设计并贡献了 LibRec 的标志,也非常感谢感谢张建斌先生实现并分享了 LibRec 演示。
我们还感谢许多其他人报告错误和问题,并提供宝贵的建议和支持。
如果 LibRec 对您的研究有帮助,请引用以下论文。
LibRec 是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证 (GPL) 的条款(许可证的第 3 版或(由您选择)任何更高版本)重新分发和/或修改它。 LibRec 的分发是希望它有用,但不提供任何保证;甚至没有适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU 通用公共许可证。
您应该已收到 GNU 通用公共许可证和 LibRec 的副本。如果没有,请参阅 http://www.gnu.org/licenses/。