欧几里得距离#
- euclidean_distance(x: ndarray, y: ndarray, **kwargs: Any) float[源代码][源代码]#
计算两个时间序列之间的欧几里得距离。
欧几里得距离支持一维、二维和三维数组。
两个长度为 m 的时间序列之间的欧几里得距离是平方距离的平方根,定义为:
\[ed(x, y) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2}\]- 参数:
- x: np.ndarray (1d 或 2d 数组)
第一个时间序列。
- y: np.ndarray (1d 或 2d 数组)
第二个时间序列。
- **kwargs: 任何
额外的关键字参数。对于欧几里得空间来说没有这些参数,但为了保持一致性,这里仍然保留。
- 返回:
- 浮动
x 和 y 之间的欧几里得距离。
- Raises:
- ValueError
如果提供的 x 或 y 的值不是 numpy 数组。如果 x 或 y 的值有超过 2 个维度。如果提供了度量字符串,并且不是定义的有效字符串。如果提供了度量对象(类的实例)并且不继承自 NumbaDistance。如果解析的度量不是 no_python 编译的。如果无法确定度量类型。
示例
>>> import numpy as np >>> from sktime.distances import euclidean_distance >>> x_1d = np.array([1, 2, 3, 4]) # 1d array >>> y_1d = np.array([5, 6, 7, 8]) # 1d array >>> euclidean_distance(x_1d, y_1d) 8.0
>>> x_2d = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) # 2d array >>> y_2d = np.array([[9, 10, 11, 12], [13, 14, 15, 16]]) # 2d array >>> euclidean_distance(x_2d, y_2d) 22.627416997969522