在coursera上疯狂地选了N门课,不好意思在这里弄N 个类别,统一标成公开课吧。其实一开始根本不准备写任何东西的,选的课实在太多了。
推荐系统这课,发个链接就OVER,https://www.coursera.org/course/recsys
人家这教授,我也不认识,就说说为了配置编程的环境,遇到哪些问题,怎么解决的吧。多半是论坛里的零散的方法,然后被我写到一起了而已。我在论坛留的英语的帖子。点击打开链接
下载 篇
JDK (不用我说吧),
Maven http://maven.apache.org/download.cgi
Lenskit http://lenskit.grouplens.org/ 目前推荐 下载 2.0-M1 . 2.0的话,不知道要等多久合适,主要是要eclipse 和 maven里update了才好。 呃,我也把 2.0-M1 和 2.0都弄来CSDN了。 2.0-M1 点击打开链接 2.0 点击打开链接
eclipse 这个下载我一向分不太清楚的,尤其是还要配置MAVEN,貌似有版本的eclipse 直接就装好maven的?也许是JAVA 2 EE 的那个?反正,我下载了classical。然后eclipse market 给它装下maven 就好。
差点忘了R 语言,虽说eclipse kepler 的 压缩包名字中有 -R- 字样,但是,好像没用,R语言也老实装上吧。
环境变量配置篇
解压,放哪儿不是我的事。
配置环境,不外乎 PATH 这些环境变量。
新增一个 M2_HOME ,指代MAVEN 安装目录。 在PATH 里面加入 lenskit-2.0\bin %M2_HOME%\bin R\R-3.0.1\bin。 当然如果你真的像我写的这个样子添加进去的话,那不是我的错。至于JAVA_HOME,呃,你自己看着办吧。嘿嘿。不安装R 语言、配置相应环境的话,很可能出现一些问题。
Eclipse配置篇
真的,我真穷,用IntelliJ IDEA 用不着看这部分。
装插件,有 maven 和 groovy 要装,找market 小事。
新建 Maven project ,默认直到下面这步:
这里一个问题就是,这个list 出现得很慢,临时联网找的,所以你急匆匆地在filter 输入 lenskit的话,可能等到你心烦还不出来。问题无解,只能等或是再试了。也许等列表完全下载显示好后,再filter比较好。
课程demo 是用simple 这个,你看,我这里就是2.0-M1 而不是2.0 ,从我的经验来看,2.0这个更新版没有完全兼容到2.0-m1,当然也可能是其他因素导致我的问题的,再讨论。下一步:
起名不就和java给包起名什么的一样吗,对你们来说小事了。缺点,我这里在上面 groupid里输入后,package这里没有立即改变。
然后就是等待下建立工程了。下一步,run configuation. 这个不知道在哪里的话,我也不会截这种图啊,要干嘛呢。初次建立项目的话,点选maven后,点,新建个maven build。然后填写一下成这样:
里面有个parameter name 和 value的地方,填的是
好,这就算一切配置完毕了,虽然以我的丢三落四的性格,少不了缺点什么,但是现在也不知道了。那就运行。运行挺慢的,最终结果是要出现这些csv文件什么:
可能的问题:
1、跟R 有关的,除了找不到Rscript (不是没装R 就是没写到path 环境变量里去),还有 ggplot2 not find
运行R ,在R 程序的SHELL里面输入
install.packages("ggplot2", dependencies = TRUE)
2、跟Lenskit版本有关的。 A required class was missing while executing org.grouplens.lenskit:lenskit-eval-maven-plugin:2.0-M1
这个估计就是我上面写的2.0 2.0-m1的package和 maven里的archtype不同的问题了。最好是老早就使用相同的版本。有些人直接添加2.0的archtype,毕竟等镜像更新2.0 也要一段时间。不过我不知道怎么添加,就用2.0-M1。
如果你就是使用了2.0的package的话,2.0-M1的archtype的话,应该是这个原因,导致出现这个问题。
解决方法,先是改用2.0-M1 的 package,并在path里作相应的改动。然后,可能直接 rebuild project 或 重启eclipse就行了,也可能是要先到 {home_dir}/_m2/repository 把这个目录删掉,然后重建Maven,重下载,再重启eclipse。
有很多人很顺利地一遍过,多半是我们使用的Eclipse或Maven版本的问题,也许某个版本的ECLIPSE里就包含了基本的R的程序,不然为什么我们需要R 程序,别人不需要?