穆琪的博客

一个程序员的自传

python实现余弦相似度计算的代码块

应用场景

  • 综合成绩作为向量值来计算两个学生的能力相似度
  • 文本处理时计算两端文字的相似度
# coding:utf-8

def cosine_similarity(vector1, vector2):
    dot_product = 0.0
    normA = 0.0
    normB = 0.0
    for a, b in zip(vector1, vector2):
        dot_product += a * b
        normA += a ** 2
        normB += b ** 2
    if normA == 0.0 or normB == 0.0:
        return 0
    else:
        return round(dot_product / ((normA**0.5)*(normB**0.5)) * 100, 2)

def cosine(vec1, vec2):
    return cosine_similarity(vec1, vec2)
© 鲁ICP备18041558号
Powered by Z-BlogPHP & Yiwuku.com