cupyx.scipy.spatial.distance.cdist#

cupyx.scipy.spatial.distance.cdist(XA, XB, metric='euclidean', out=None, **kwargs)[source]#

计算两组输入之间每一对的距离。

参数:
  • XA (array_like) – 一个 \(m_A\)\(n\) 列的数组,包含 \(n\) 维空间中的 \(m_A\) 个原始观测值。输入将被转换为浮点类型。

  • XB (array_like) – 一个 \(m_B\)\(n\) 列的数组,包含 \(n\) 维空间中的 \(m_B\) 个原始观测值。输入将被转换为浮点类型。

  • metric (str, 可选) – 要使用的距离度量。距离函数可以是 ‘canberra’, ‘chebyshev’, ‘cityblock’, ‘correlation’, ‘cosine’, ‘euclidean’, ‘hamming’, ‘hellinger’, ‘jensenshannon’, ‘kl_divergence’, ‘matching’, ‘minkowski’, ‘russellrao’, ‘sqeuclidean’。

  • out (cupy.ndarray, 可选) – 输出数组。如果不是 None,则距离矩阵 Y 将存储在此数组中。

  • **kwargs (dict, 可选) – metric 的额外参数:请参考每个度量的文档以获取所有可能参数的列表。一些可能的参数:p (float): 应用于 Minkowski 的 p-范数,加权和未加权。默认值:2.0

返回值:

返回一个 \(m_A\)\(m_B\) 列的距离矩阵。

对于每个 \(i\)\(j\),计算度量 dist(u=XA[i], v=XB[j]) 并存储在 \(ij\) 位置。

返回类型:

Y (cupy.ndarray)