我有一个“用户 x 项目”矩阵,如下所示:
user item1 item2 item3
u1 2 0 3
u2 1 2 0
u3 4 3 1
u4 0 2 2
我想根据用户计算项目之间的相似性。例如,为了计算项目 i1 和 i2 之间的相似度,我只选择对这两个项目都赋值的用户。
两项(i1 和 i2)之间的余弦相似度如下:
cos(v1,v2) = (1*2 + 4*3)/sqrt[(1 + 4)*(16+9)]
我的问题是关于项目与项目的相似性,我应该考虑所有用户,还是只考虑为项目分配值的普通用户?