python余弦相似度


余弦相似度公式

\(\cos\alpha={\vec a} {\cdot} {\vec b}{|\vec a||\vec b|}\)

向量\(\vec a\)与向量\(\vec b\)的余弦相似度等于,向量\(\vec a\)与向量\(\vec b\)的点积,除以向量\(\vec a\)与向量\(\vec b\)的长度

函数cos_sim计算了向量的余弦相似度,参数b为一个矩阵n\(\times\)m的矩阵,表示n个m维的向量。

def cos_sim(a,b):
    """
    计算a,b向量的余弦相似度
    @param a: 1*m的向量
    @param b: n*m的矩阵
    @return: 1*n的值,每个样本的bi与a的余弦相似度
    """
    cos_result = np.dot(a, b.T) / np.sqrt(np.sum(b ** 2, axis=1)) / np.sqrt(np.dot(a, a.T))
    return cos_result


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM