改变R中`recommenderlab`中的方法

时间:2013-04-21 16:36:23

标签: r

我正在使用库(“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]“余弦”

所以问题是如何将其改为“皮尔逊”相似性?

谢谢!

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)