最近,我开始在我的研究中使用R的推荐器包.
这是recommenderlab文件:
http://cran.r-project.org/web/packages/recommenderlab/vignettes/recommenderlab.pdf
本文档中有一些例子,但我有一个很大的问题.
首先,加载recommenderlab包和Jester5k数据集.
library("recommenderlab")
data(Jester5k)
Run Code Online (Sandbox Code Playgroud)使用Jester5k的最前1000个记录(用户)来学习.推荐算法是热门的.
r <- Recommender(Jester5k[1:1000], method="POPULAR")
Run Code Online (Sandbox Code Playgroud)然后预测第1001个用户的推荐列表.列出前5项.
recom <- predict(r, Jester5k[1001], n=5)<br/>
as(recom, "matrix")
Run Code Online (Sandbox Code Playgroud)输出:
[1] "j89" "j72" "j47" "j93" "j76"<br/>
Run Code Online (Sandbox Code Playgroud)
然后我检查上面5项的评级.
rating <- predict(r, Jester5k[1001], type="ratings")<br/>
as(rating, "matrix")[,c("j89", "j72", "j47", "j93", "j76")]
Run Code Online (Sandbox Code Playgroud)输出:
j89 j72 j47 j93 j76<br/>
2.6476613 2.1273894 0.5867006 1.2997065 1.2956333<br/>
Run Code Online (Sandbox Code Playgroud)
为什么排名前5位的是"j89""j72""j47""j93""j76",但j47的评分仅为0.5867006.
我不明白.
如何recommenderlab计算每个项目的评级ratingMatrix?
它如何产生TopN列表?