我有一个数据集,Recoset,是用户对某些产品类别的评分。我正在尝试学习使用用户给出的评级来预测其他用户可能喜欢的产品类别,方法是在 R 中使用推荐程序实验室包的基于用户的协作过滤。
这是代码
m <- read.csv("recoset2.csv")
rrm <-as(m,"realRatingMatrix")
rrm2 <- rrm[rowCounts(rrm)>5] #only users who have bought from more than 5 verticals (any random 5)
learn <- Recommender(rrm2,method = "UBCF")
learned <- predict(learn,rrm[2001:2010,],n=3)
learned_list <- as(learned,"list")
现在,只要我预测 10 个或更少的用户,代码就可以正常工作(有时)。但是当我以这种方式将用户数量增加到 11 或更多时
learned <- predict(learn,rrm[2001:2020],n=3)
我受到这个错误的欢迎
Error in neighbors[, x] : incorrect number of dimensions
此错误有时也支持低至 2 个用户,但我从未收到 1 个用户的此错误。
我自己花了几天时间,浏览了整个推荐实验室文档,搜索了许多资源和教程,但调试了这个错误。任何解决此问题的帮助将不胜感激
> user item rating
> ORG1SNQ0TV16NQP6ZB5SD9XGX1FP7 MobileCable 2
> ORG441VE999BMCTYGZ0H7HDWHGX62 OTGPendrive 2
> ORG7L1NRFQZTPDJRFXC0CQ1LXLY6E MobileScreenGuard 3
> ORGBYFYMG92YFDC043NG7PZEHEPTS MobileScreenGuard 2
> ORGLZH07SFPSFQ3RZJMCV85XKKDKE Smartphone 5
> ORGMBN2841ZDJDZD4HHEN28HB5YYP Headphone 1
这是数据集的链接