使用Python编写一个能计算样本间欧式距离与曼哈顿距离的方法。
时间: 2024-02-18 22:04:40 浏览: 281
下面是Python代码实现:
```python
import numpy as np
def euclidean_distance(x1, x2):
"""
计算两个样本之间的欧式距离
:param x1: 样本1,类型为numpy数组
:param x2: 样本2,类型为numpy数组
:return: 欧式距离,类型为float
"""
return np.sqrt(np.sum(np.power(x1 - x2, 2)))
def manhattan_distance(x1, x2):
"""
计算两个样本之间的曼哈顿距离
:param x1: 样本1,类型为numpy数组
:param x2: 样本2,类型为numpy数组
:return: 曼哈顿距离,类型为float
"""
return np.sum(np.absolute(x1 - x2))
```
使用示例:
```python
# 计算欧式距离
x1 = np.array([1, 2, 3])
x2 = np.array([4, 5, 6])
print("欧式距离:", euclidean_distance(x1, x2))
# 计算曼哈顿距离
x1 = np.array([1, 2, 3])
x2 = np.array([4, 5, 6])
print("曼哈顿距离:", manhattan_distance(x1, x2))
```
输出结果:
```
欧式距离: 5.196152422706632
曼哈顿距离: 9
```
阅读全文