标准化欧氏距离和皮尔逊相关系数的公式以及程序
时间: 2023-11-27 10:54:53 浏览: 82
dx757.zip_图像欧氏距离_网络化控制
标准化欧氏距离公式:
$$
d_{seuclidean}(x,y) = \sqrt{\sum_{i=1}^{n}\frac{(x_i - y_i)^2}{s_i^2}}
$$
其中,$x$ 和 $y$ 是两个 $n$ 维向量,$s_i$ 是 $x_i$ 在整个数据集中所有取值的标准差。
Python 代码实现:
```python
import numpy as np
def standardized_euclidean_distance(x, y, s):
return np.sqrt(np.sum(np.square((x - y) / s)))
```
皮尔逊相关系数公式:
$$
r_{xy} = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}}
$$
其中,$x$ 和 $y$ 是两个 $n$ 维向量,$\bar{x}$ 和 $\bar{y}$ 分别是 $x$ 和 $y$ 的均值。
Python 代码实现:
```python
import numpy as np
def pearson_correlation_coefficient(x, y):
x_mean = np.mean(x)
y_mean = np.mean(y)
numerator = np.sum((x - x_mean) * (y - y_mean))
denominator = np.sqrt(np.sum(np.square(x - x_mean))) * np.sqrt(np.sum(np.square(y - y_mean)))
return numerator / denominator
```
阅读全文