【问题标题】:User Based Recommendation in RR中基于用户的推荐
【发布时间】:2017-01-22 14:43:05
【问题描述】:

我正在尝试使用 recommenderlab 包在 R 中进行基于用户的推荐,但我一直从模型中得到 0(无)预测。

我的代码是:

library("recommenderlab")        
# Loading to pre-computed affinity data  
movie_data<-read.csv("D:/course/Colaborative filtering/data/UUCF Assignment Spreadsheet_user_row.csv")


movie_data[is.na(movie_data)] <- 0

rownames(movie_data) <- movie_data$X
movie_data$X <- NULL

# Convert it as a matrix
R<-as.matrix(movie_data)
# Convert R into realRatingMatrix data structure
#   realRatingMatrix is a recommenderlab sparse-matrix like data-structure
r <- as(R, "realRatingMatrix")
r

rec=Recommender(r[1:nrow(r)],method="UBCF", param=list(normalize = "Z-score",method="Cosine",nn=5, minRating=1))

recom <- predict(rec, r["1648"], n=5)
recom
as(recom, "list")

我总是像这样出去玩:

as(recom, "list")
$`1648`
character(0)

我正在使用来自此链接的用户行数据: https://drive.google.com/file/d/0BxANCLmMqAyIQ0ZWSy1KNUI4RWc/view 在该数据列中,A 包含用户 ID,除此之外,还有每个电影名称的电影评级。

谢谢。

【问题讨论】:

  • 如何在我的机器上重现character(0) 结果?我没有“UUCF Assignment Spreadsheet_user_row.csv”并且阅读谷歌驱动器的东西不知何故不起作用(你试过了吗?)
  • 嗨,@lukeA 仅供参考,请从docs.google.com/spreadsheets/d/…下载数据

标签: r recommendation-engine rscript


【解决方案1】:

代码行movie_data[is.na(movie_data)] &lt;- 0 是错误的来源。对于realRatingMatrix(与binaryRatingMatrix 不同),用户未评级 的电影应为NA 值,而不是零值。例如,下面的代码给出了正确的预测:

library("recommenderlab")        
movie_data<-read.csv("UUCF Assignment Spreadsheet_user_row.csv")
rownames(movie_data) <- movie_data$X
movie_data$X <- NULL

R<-as.matrix(movie_data)
r <- as(R, "realRatingMatrix")    
rec=Recommender(r,method="UBCF", param=list(normalize = "Z-score",method="Cosine",nn=5, minRating=1))     
recom <- predict(rec, r["1648"], n=5)
as(recom, "list")
# [[1]]
# [1] "X13..Forrest.Gump..1994."    "X550..Fight.Club..1999."                                   
# [3] "X77..Memento..2000."         "X122..The.Lord.of.the.Rings..The.Return.of.the.King..2003."
# [5] "X1572..Die.Hard..With.a.Vengeance..1995."                  

【讨论】:

    猜你喜欢
    • 2012-07-15
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    相关资源
    最近更新 更多