当前位置:   article > 正文

基于numpy的L2计算_numpy l2距离

numpy l2距离

欧几里得距离(Euclidean Distance)或欧几里得度量(Euclidean Metric)是欧几里得空间中两点间的距离。

二维空间公式

d = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2} d=(x1x2)2+(y1y2)2

计算二维空间中两点(x1,y1)和(x2,y2)之间的距离

三维空间公式

d = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 + ( z 1 − z 2 ) 2 d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2} d=(x1x2)2+(y1y2)2+(z1z2)2

计算三维空间中两点(x1,y1,z1)和(x2,y2,z2)之间的距离

n维空间公式

∑ i = 1 n ( x 1 i − x 2 i ) 2 ) \sqrt{\sum^{n}_{i=1}{(x_{1i}-x_{2i})^2)}} i=1n(x1ix2i)2)

计算n维空间中两个向量(x11,x12,…,x1n)和(x21,x22,…,x2n)之间的距离

同一个概念的不同表达方式

欧几里得距离 == 欧几里得范数 == L2范数 == L2距离

Euclidean distance == Euclidean norm == L2 norm == L2 distance

import numpy as np

if __name__ == "__main__":
    # 二维空间两点距离计算
    a1 = np.array([0,0])
    a2 = np.array([1,1])
    op1 = np.linalg.norm(a1-a2)
    print(op1)

    # 三维空间两点距离计算
    b1 = np.array([0,0,0])
    b2 = np.array([1,1,1])
    op2 = np.linalg.norm(b1-b2)
    print(op2)

    # n维空间两点距离计算
    dims = 1024
    c1 = np.zeros((1024,))
    c2 = np.ones((1024,))
    op3 = np.linalg.norm(c1-c2)
    print(op3)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
'
运行
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/793995
推荐阅读
相关标签
  

闽ICP备14008679号