Python实现用户物品矩阵杰卡德相似度计算
下面是Python代码实现:
import numpy as np
def jaccard_similarity(matrix):
m, n = matrix.shape
similarity_matrix = np.zeros((m, m))
for i in range(m):
for j in range(i, m):
intersection = np.sum(np.logical_and(matrix[i], matrix[j]))
union = np.sum(np.logical_or(matrix[i], matrix[j]))
similarity_matrix[i][j] = 1.0 * intersection / union
similarity_matrix[j][i] = similarity_matrix[i][j]
return similarity_matrix
这个函数接受一个用户物品矩阵作为参数,然后计算出所有用户之间的杰卡德相关系数,返回一个相似性矩阵。其中,相似性矩阵的第i行第j列表示第i个用户和第j个用户之间的杰卡德相关系数。
原文地址: https://www.cveoy.top/t/topic/n0T4 著作权归作者所有。请勿转载和采集!