使用numpy计算各种向量距离


import numpy as np

def euclidean_distance(vec1, vec2):
    '''欧氏距离'''
    return np.linalg.norm(vec1-vec2)

def cosine_similarity(vec1, vec2):
    '''向量夹角的余弦值'''
    return np.dot(vec1,vec2)/(np.linalg.norm(vec1)*(np.linalg.norm(vec2)))
    
def angle(vec1, vec2, degree=False):
    '''向量夹角,通过degree=True切换弧度制到角度制'''
    angle = np.arccos(np.dot(vec1,vec2)/(np.linalg.norm(vec1)*(np.linalg.norm(vec2))))
    if degree:
        angle = angle*180/np.pi
    return angle


免责声明!

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



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