Python,计算欧氏距离

  1. 刚开始学习模式识别这门课程时,后面所学的六种距离,让我们以此来写一个代码。我说利用了Python里面的程序,调用一个库,并把第一个距离所需求的算法带进去,利用for语句循环,来实现代码。
  2. 已知四个样本,请用Python编写程序,分别计算4个样本两两之间的欧式距离、曼哈顿距离、切氏距离、明氏距离(p=3)、马氏距离、Canberra距离、角度相似系数。
  3. 所写代码:
    from __future__ import division
    import numpy as np
    from scipy.spatial import distance
    x1=[3,4,5]
    x2=[5,6,1]
    x3=[2,2,4]
    x4=[6,4,5]
    x=[x1,x2,x3,x4]
    V=np.array([x1,x2,x3,x4]).T
    S=np.cov(V)
    SI = np.linalg.inv(S)
    print("两两间的各值距离,欧氏距离、canberra、马氏距离、曼哈顿距离、切氏距离、明氏距离、角度相似系数:")
    for i in range(len(x)):
        for j in range(i+1,len(x)):
            print("x{}-x{}:".format(i+1,j+1),distance.euclidean(x[i],x[j]))
            print("x{}-x{}:".format(i + 1, j + 1), distance.canberra(x[i], x[j]))
            print("x{}-x{}:".format(i + 1, j +
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值