用Numpy手写各种距离度量

2020-04-17 16:24:46 浏览数 (1)

代码语言:javascript复制
import numpy as np

1.欧氏距离(Euclidean distance)

代码语言:javascript复制
def euclidean(x, y):

    return np.sqrt(np.sum((x - y)**2))

2.曼哈顿距离(Manhattan distance)

代码语言:javascript复制
def manhattan(x, y):

    return np.sum(np.abs(x - y))

3.切比雪夫距离(Chebyshev distance)

代码语言:javascript复制
def chebyshev(x, y):

    return np.max(np.abs(x - y))

4.闵可夫斯基距离(Minkowski distance)

代码语言:javascript复制
def minkowski(x, y, p):

    return np.sum(np.abs(x - y) ** p) ** (1 / p)

5.汉明距离(Hamming distance)

代码语言:javascript复制
def hamming(x, y):

    return np.sum(x != y) / len(x)总结
本文用Numpy实现了常见的几种距离度量。

0 人点赞