我正在使用库(“recommenderlab”)并希望使用“基于用户的协同过滤(UBCF)”创建推荐器模型。默认的相似性度量是余弦,但我想将其更改为 pearson 。这是我的代码摘录
## create a matrix with ratings
m <- matrix(sample(c(as.numeric(0:5), NA), 50,
+ replace=TRUE, prob=c(rep(.4/6,6),.6)), ncol=10,
+ dimnames=list(user=paste("u", 1:5, sep=''),
+ item=paste("i", 1:10, sep='')))
## coerce into a realRatingMAtrix
r <- as(m, "realRatingMatrix")
## Create a recommender using "UBCF" with default cosine similarity
uu.rec=Recommender(r[1:5],method="UBCF")
由于推荐者使用注册机制(称为“ recommenderRegistry ”),因此可以通过以下方式找到默认方法:
getModel(uu.rec)$method
[1]“余弦”
所以问题是如何将其改为“皮尔逊”相似性?
谢谢!
答案 0 :(得分:1)
使用Recommender(),参数的第三个参数,将算法a.k.a.推荐方法传递给您想要使用的相异度量:
uu.rec=Recommender(data=r[1:5], method="UBCF", param=list(normalize="Z-score", method="pearson", nn=50, minRating=3, sample=F)