zoukankan      html  css  js  c++  java
  • Python--欧式距离

    参考链接:https://www.cnblogs.com/denny402/p/7027954.html

    欧氏距离(Euclidean Distance)
           欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。
    (1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:

    (2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:

    (3)两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离:

    (4)也可以用表示成向量运算的形式:

    python中的实现:

    import numpy as np
    x=np.random.random(10)
    y=np.random.random(10)
    
    #方法一:根据公式求解
    d1=np.sqrt(np.sum(np.square(x-y)))
    
    #方法二:根据scipy库求解
    from scipy.spatial.distance import pdist
    X=np.vstack([x,y])           #将x,y两个一维数组合并成一个2D数组 ;[[x1,x2,x3...],[y1,y2,y3...]]
    d2=pdist(X)                  #d2=np.sqrt((x1-y1)
    2
    +(x2-y2)
    2
    +....)
    

      

  • 相关阅读:
    trie树
    单调队列
    网络流24题——试题库问题
    费用流的简单应用
    Manacher算法
    KMP算法
    网络流之最小费用最大流
    网络流之二分图匹配【转】
    网络流之最大流
    矩阵快速幂优化菲波那切数列
  • 原文地址:https://www.cnblogs.com/gegemu/p/9968014.html
Copyright © 2011-2022 走看看