我正在努力研究props
中的推荐系统。
数据集如下:
https://drive.google.com/file/d/1FVh-Xg3NBtzKgZHnDTi7IjaATW_fPmW9/view?usp=sharing
R
现在,如果我们检查每个对象的评论数量,则两者都不匹配
beer_data <- read.csv("beer_data.csv", stringsAsFactors = F)
library(recommenderlab)
r <- as(beer_data, "realRatingMatrix")
且评分范围也不匹配:
nrow(beer_data) # 475984
length(getRatings(r)) # 474560
[1] 0 5
> range(beer_data_master$review_overall)
[1] 0 15
我也检查了其他数据集,没有出现问题。
答案 0 :(得分:1)
我得到了答案:
数据中有一些用户对同一啤酒的评价不止一次(两次/三次......等)。因此,当将数据强制转换为realRatingMatrix时,推荐人实验会增加此类行的评级,以及为什么评级值大于5且getRatings的长度小于beer_data的nrow。
E.g。样品beer_data
beer_beerid,review_profilename,review_overall
19667,57md,3.5 19667,57md,4.0
所以在realRatingMatrix for user =&#34; 57md&#34;和item =&#34; 19667&#34; rating = 3.5 + 4 = 7.5并且realRatingMatrix中的1行减少。
由于同样的原因,beer_beerid和评级的非唯一组合结合在一起导致了对象,数据帧和realRatingMatrix中评级计数的不匹配。