python余弦相似度

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jacke121/article/details/88819986
import time

from sklearn.metrics.pairwise import cosine_similarity

a = [[1, 1], [1, 0.8]]
start=time.time()
print(time.time()-start,cosine_similarity(a)[0][1])


import numpy as np


a=[1,1]
b=[1,0.8]

def cos_sim(vector_a, vector_b):
    """
    计算两个向量之间的余弦相似度
    :param vector_a: 向量 a
    :param vector_b: 向量 b
    :return: sim
    """
    vector_a = np.mat(vector_a)
    vector_b = np.mat(vector_b)
    num = float(vector_a * vector_b.T)
    denom = np.linalg.norm(vector_a) * np.linalg.norm(vector_b)
    cos = num / denom
    sim = 0.5 + 0.5 * cos
    return sim
start=time.time()
print(time.time()-start,cos_sim(a,b))

猜你喜欢

转载自blog.csdn.net/jacke121/article/details/88819986
今日推荐