转换为realRatingMatrix后,数据看起来有所不同

时间:2018-05-07 03:26:22

标签: r recommender-systems recommenderlab

我正在努力研究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

我也检查了其他数据集,没有出现问题。

1 个答案:

答案 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中评级计数的不匹配。