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
    +....)
    

      

  • 相关阅读:
    codevs 1450 xth 的旅行
    Loj #6287 诗歌
    Codeforces 323C Two permutations
    Spoj MKTHNUM
    [TJOI2015]弦论
    Spoj SUBLEX
    bzoj 4338: BJOI2015 糖果
    bzoj 3462: DZY Loves Math II
    bzoj 2843: 极地旅行社
    清北学堂模拟赛d4t5 b
  • 原文地址:https://www.cnblogs.com/gegemu/p/9968014.html
Copyright © 2011-2022 走看看