举例说明皮尔逊相关系数计算用户相似度
时间: 2023-11-23 14:06:34 浏览: 99
好的,假设我们有两个用户A和B,他们对于三个电影的评分如下:
| 电影 | 用户A的评分 | 用户B的评分 |
|------|------------|------------|
| 电影1 | 5 | 4 |
| 电影2 | 3 | 2 |
| 电影3 | 4 | 4 |
首先,我们需要计算每个用户的评分的平均值:
- 用户A的评分平均值:(5+3+4)/3 = 4
- 用户B的评分平均值:(4+2+4)/3 = 3.33
接下来,我们需要计算每个用户评分与其平均值的差值:
| 电影 | 用户A的评分 | 用户A的评分平均值 | 用户A的评分差值 | 用户B的评分 | 用户B的评分平均值 | 用户B的评分差值 |
|------|------------|------------------|------------------|------------|------------------|------------------|
| 电影1 | 5 | 4 | 1 | 4 | 3.33 | 0.67 |
| 电影2 | 3 | 4 | -1 | 2 | 3.33 | -1.33 |
| 电影3 | 4 | 4 | 0 | 4 | 3.33 | 0.67 |
然后,我们需要计算每个用户评分差值的乘积,以及每个用户评分差值的平方和:
- 用户A评分差值的乘积:1*(-1)*0 = 0
- 用户B评分差值的乘积:0.67*(-1.33)*0.67 = -0.5999
- 用户A评分差值的平方和:1^2 + (-1)^2 + 0^2 = 2
- 用户B评分差值的平方和:0.67^2 + (-1.33)^2 + 0.67^2 = 3.1155
最后,我们可以使用皮尔逊相关系数公式计算用户A和用户B的相似度:
r = Σ((用户A的评分差值)*(用户B的评分差值)) / sqrt(Σ(用户A的评分差值的平方和) * Σ(用户B的评分差值的平方和))
r = 0.2091
因此,用户A和用户B的相似度为0.2091。
阅读全文