距离矩阵是一个n*n的矩阵,其中第i行第j列的元素表示第i个样本点和第j个样本点之间的距离。
距离的计算方法有很多种,以下介绍两种常用的方法:
1. 欧氏距离(Euclidean distance):对于两个n维向量x和y,它们之间的欧氏距离可以表示为:
d(x,y) = √(∑(xi-yi)^2)
其中xi和yi分别代表向量x和y的第i个维度的值。对于一个n维的样本,可以用以下代码求出它与其他样本点之间的欧氏距离:
```
import numpy as np
from scipy.spatial.distance import cdist
X = np.random.rand(5, 3) # 5个3维样本数据
dist_matrix = cdist(X, X, metric='euclidean') # 求距离矩阵
```
2. 曼哈顿距离(Manhattan distance):对于两个n维向量x和y,它们之间的曼哈顿距离可以表示为:
d(x,y) = ∑|xi-yi|
对于一个n维的样本,可以用以下代码求出它与其他样本点之间的曼哈顿距离:
```
import numpy as np
from scipy.spatial.distance import cdist
X = np.random.rand(5, 3) # 5个3维样本数据
dist_matrix = cdist(X, X, metric='cityblock') # 求距离矩阵
```
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号