jupyter notebook 实现闵式距离
时间: 2023-08-31 16:09:55 浏览: 148
闵式距离是一种常见的距离计算方法,它可以根据不同的参数值,计算出不同的距离公式,包括欧几里得距离、曼哈顿距离、切比雪夫距离等。在 Jupyter Notebook 中,可以通过以下代码实现闵式距离的计算:
```python
import numpy as np
def minkowski_distance(x, y, p=2):
# 计算闵式距离
return np.sum(np.abs(x - y) ** p) ** (1/p)
# 示例
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
print(minkowski_distance(x, y, p=2)) # 欧几里得距离
print(minkowski_distance(x, y, p=1)) # 曼哈顿距离
print(minkowski_distance(x, y, p=np.inf)) # 切比雪夫距离
```
上述代码中,`minkowski_distance` 函数接收两个向量 `x` 和 `y`,以及一个参数 `p`,用于指定闵式距离的计算方式。默认情况下,`p` 取值为 2,即计算欧几里得距离。如果将 `p` 设置为 1,则计算曼哈顿距离;如果将 `p` 设置为无穷大,则计算切比雪夫距离。
阅读全文