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