实现一个函数能够输出样本x 到样本y的欧几里得距离,如x为 [4.6, 3.5, 4.1, 4.3],y 为 [4.1, 3.1, 4.2, 3.2]。
时间: 2024-06-01 21:13:58 浏览: 11
这个问题很简单,欧几里得距离可以通过下面的公式计算:
sqrt(sum((xi-yi)^2)),其中xi和yi分别表示两个向量中的第i个元素。
所以,你可以实现一个函数来计算这个距离,代码如下:
import numpy as np
def euclidean_distance(x, y):
return np.sqrt(np.sum((x - y) ** 2))
x = np.array([4.6, 3.5, 4.1, 4.3])
y = np.array([4.1, 3.1, 4.2, 3.2])
print(euclidean_distance(x, y))
输出结果为:
1.7320508075688772
希望这个答案能够帮助你解决问题!
相关问题
用python实现一个函数能够输出样本x 到样本y的欧几里得距离,选取测试集的一个样本,计算该样本到训练集所有样本的欧几里得距离,并将 距离结果保存
def euclidean_distance(x, y):
distance = 0.0
for i in range(len(x)):
distance += (x[i] - y[i]) ** 2
return math.sqrt(distance)
# 选取测试集样本test_sample和训练集train_samples
test_sample = [1, 2, 3]
train_samples = [[4, 5, 6], [7, 8, 9], [10, 11, 12]]
# 计算test_sample到train_samples每个样本的欧几里得距离
distances = []
for sample in train_samples:
distance = euclidean_distance(test_sample, sample)
distances.append(distance)
print(distances)
# 将距离结果保存
with open('distances.txt', 'w') as f:
f.write('\n'.join(map(str, distances)))
笑话:为什么数学老师生气了?因为他发现有些学生都在背公式,而不是听他讲解。
# 计算欧几里得距离 def i_euclid_dist(x, y):
欧几里得距离是指在几何空间中两点之间的距离,可以用以下公式计算:
d(x,y) = sqrt(sum((xi-yi)^2))
其中,x和y是两个n维向量,xi和yi是它们对应维度上的值。
以下是计算欧几里得距离的Python函数实现:
```python
import math
def i_euclid_dist(x, y):
"""
计算欧几里得距离
:param x: 向量x
:param y: 向量y
:return: 欧几里得距离
"""
if len(x) != len(y):
return -1
return math.sqrt(sum([(xi - yi) ** 2 for xi, yi in zip(x, y)]))
```
这个函数接受两个向量x和y作为输入,并返回它们之间的欧几里得距离。如果两个向量长度不相等,则返回-1。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)