建立物品的同现矩阵的过程 和 同现矩阵*评分矩阵的意义

来源:互联网 发布:csol控制台的优化 编辑:程序博客网 时间:2024/05/16 13:58

建立同现矩阵的过程

在协同过滤算法中同现矩阵的建立是极其关键的一部,而在大多数的博客文章中大多都没有详细说明矩阵的建立过程。在此详细说明一下:

原始数据如下所示:

1,101,5.01,102,3.01,103,2.52,101,2.02,102,2.52,103,5.02,104,2.03,101,2.03,104,4.03,105,4.53,107,5.04,101,5.04,103,3.04,104,4.54,106,4.05,101,4.05,102,3.05,103,2.05,104,4.05,105,3.55,106,4.0

对这些数据建立的同现矩阵如下:

      [101] [102] [103] [104] [105] [106] [107][101]   5     3     4     4     2     2     1[102]   3     3     3     2     1     1     0[103]   4     3     4     3     1     2     0[104]   4     2     3     4     2     2     1[105]   2     1     1     2     2     1     1[106]   2     1     2     2     1     2     0[107]   1     0     0     1     1     0     1

建立过程解释:
1.针对用户 1 对电影101 102 103 进行了评分,那么会在上述的矩阵如下位置写 1 :

(101,101)(101,102)(101,103)(102,101)(102,102)(102,103)(103,101)(103,102)(103,103)

即对101,102,103进行组合产生3*3个位置点,在对应的位置写1就行。
针对所有的用户进行上述操作,然后将所有的结果相加,最后就可以得到同现矩阵。


同现矩阵*评分矩阵的意义

举个用户3对物品102是否感兴趣的例子:
用户3对所有物品的评分, 有评分说明用户3喜欢这东西
这里写图片描述

同现矩阵其实就是物品与物品之间的关联度, 这个关联度由所有用户对所有物品的评分决定。

同现的意思就是同时出现的意思,就是说,喜欢 101 的时候同时喜欢 102 。

比如第一条, 说明同时有3个用户喜欢 101 与 102。意思就是说,在3个用户的各自喜好列表中 101 和 102 同时出现了。
这里写图片描述

计算推荐得分, 其意义是: 比如第5行, 用户3很喜欢物品105(给了得了4.5), 同时由其他用户也知道喜欢物品105的对物品102的喜欢程度(得分2), 两者相乘表示用户3因为喜欢物品105 推算出同时也喜欢物品102的得分。
这里写图片描述

用户3对物品102 兴趣总得分
这里写图片描述

1 0
原创粉丝点击