在协同过滤算法中同现矩阵的建立是极其关键的一部,而在大多数的博客文章中大多都没有详细说明矩阵的建立过程。在此详细说明一下:
原始数据如下所示:
1,101,5.0 1,102,3.0 1,103,2.5 2,101,2.0 2,102,2.5 2,103,5.0 2,104,2.0 3,101,2.0 3,104,4.0 3,105,4.5 3,107,5.0 4,101,5.0 4,103,3.0 4,104,4.5 4,106,4.0 5,101,4.0 5,102,3.0 5,103,2.0 5,104,4.0 5,105,3.5 5,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就行。
针对所有的用户进行上述操作,然后将所有的结果相加,最后就可以得到同现矩阵。