本代码是论文《solving the apparent diversity-accuracy dilemma of recommender systems》的R语言模拟算法
针对论文中的图1
# user-object matrix v=c(1,0,0,1,0, 1,1,1,1,0, 1,0,1,0,0, 0,0,1,0,1) user=4 ob=5 am=matrix(v,nrow=4,ncol=5,byrow=T) rows=rowSums(am); cols=colSums(am); # 初始化权重矩阵 W=matrix(0,nrow=5,ncol=5,byrow=T) # 计算权重矩阵 for(a in 1:user) for(b in 1:ob) { sum=0 for(j in 1:4) { sum=sum+ am[j,a]*am[j,b]/rows[j] } W[a,b]=1/cols[b]*sum } v=c(1,0,0,1,0) #第一个用户的点击向量 v0=W%*%v #probS的结果 v1=t(W)%*%v # heatS的结果