LibRec 学习笔记(二):如何成功运行 LibRec 官方提供的code snippet?

首先,Librec官方针对librec-core 2.0 提供的code snippet链接在此,该代码只适用于2.0。

我这里直接使用的是librec-core 3.0,官方提供的针对3.0 提供的code snippet链接在此,代码如下:

public static void main(String[] args) throws Exception {

                // build data model
                Configuration conf = new Configuration();
                conf.set("dfs.data.dir", "path to the data dir");
                TextDataModel dataModel = new TextDataModel(conf);
                dataModel.buildDataModel();
        
                // build recommender context
                RecommenderContext context = new RecommenderContext(conf, dataModel);
        
                // build similarity
                conf.set("rec.recommender.similarity.key" ,"item");
                conf.setBoolean("rec.recommender.isranking", true);
                conf.setInt("rec.similarity.shrinkage", 10);
                RecommenderSimilarity similarity = new CosineSimilarity();
                similarity.buildSimilarityMatrix(dataModel);
                context.setSimilarity(similarity);
        
                // build recommender
                conf.set("rec.neighbors.knn.number", "200");
                Recommender recommender = new ItemKNNRecommender();
                recommender.setContext(context);
        
                // run recommender algorithm
                recommender.train(context);
        
                // evaluate the recommended result
                EvalContext evalContext = new EvalContext(conf, recommender, dataModel.getTestDataSet(), context.getSimilarity().getSimilarityMatrix(), context.getSimilarities());
                RecommenderEvaluator ndcgEvaluator = new NormalizedDCGEvaluator();
                ndcgEvaluator.setTopN(10);
                double ndcgValue = ndcgEvaluator.evaluate(evalContext);
                System.out.println("ndcg:" + ndcgValue);
}

这里先确认下本篇博客的前提,我们的目的是想使用第三方库librec-core 3.0.0,调用里面的方法来帮助自己的项目,所以第一步是能够正确运行上面的代码。那下面就手把手教你如何正确运行成功这段代码:

1、由于librec-core 是一个maven项目,可以直接使用maven导入依赖进行使用,但是在maven的第三方库中只有librec-core 2.0.0 版本,并没有3.0.0 的版本,所以,这里可以直接下载3.0.0版本的librec-core 的jar包,这是下载地址,然后手动的将该jar包导入进自己的项目中并且建立依赖。如果不会这部操作,可以参考我的上一篇博客:如何在自己的项目中导入第三方包:librec?
在这里插入图片描述
2、下载Librec中需要使用的data数据集,并且把该文件夹放入自己的项目中,如下所示(从源码中可以看出,librec-core库中并没有自带数据集):
在这里插入图片描述
这是data的下载路径,其实整个项目都可以下载下来,方便自己看代码中的细节(另,这里的Epinions数据集是我自己从别的地方下载的,直接放进去的!)。
在这里插入图片描述

3、由于给出的code snippet是主函数,所以直接随意建立一个java文件,将该代码复制进去即可。
在这里插入图片描述

如何出现红色的报错,是因为没有导入相应的包,直接把鼠标放在上面,就会提示你导入。
在这里插入图片描述

4、官方提供的code snippet 上有一行是需要你自己填的,就是你放置data的路径
在这里插入图片描述
如果你是按我上面那样放的 ,则这句代码可以直接改成

conf.set("dfs.data.dir", "./data");     

或者把这句话注释掉,则内部默认的存放位置是…/data,一般这个时候会报错,至于原因,我也没有搞明白,有知道的小伙伴,可以留言告诉我啊~

5、以上,就可以右键进行运行了,下面是运行成功后的结果
在这里插入图片描述


若能完成以上步骤,不出意外,您已经可以成功运行 librec 官方提供的 code snippet 了 !ヾ(◍°∇°◍)ノ゙

本人目前刚开始学习使用 librec,欢迎同伴一起交流进步,哪里有写的不对的地方,欢迎评论指正呀!ヾ(◍°∇°◍)ノ゙

如果这篇博客帮助了您,可以请我吃包5毛钱的辣条吗?(下面为微信收款码)或者点个赞也行呀!您小小的鼓励会是我持续更新的动力!ヾ(◍°∇°◍)ノ゙
在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值