jax.scipy.cluster.vq.vq#
- jax.scipy.cluster.vq.vq(obs, code_book, check_finite=True)[源代码][源代码]#
将代码本中的代码分配给一组观测值。
JAX 实现的
scipy.cluster.vq.vq()
。基于最近的欧几里得距离,将
obs
中的每个观测向量分配给code_book
中的一个代码。- 参数:
obs (ArrayLike) – 形状为
(M, N)
的观测向量数组。每一行代表一个单独的观测。如果obs
是一维的,那么每个条目都被视为长度为1的观测。code_book (ArrayLike) – 形状为
(K, N)
的代码数组。每一行代表一个单独的代码向量。如果code_book
是一维的,那么每个条目都被视为长度为1的代码。check_finite (bool) – 在 JAX 中未使用
- 返回:
一个数组元组
(code, dist)
-code
是一个形状为(M,)
的整数数组,包含索引0 <= i < K
,表示obs
中给定条目在code_book
中最接近的条目。 -dist
是一个形状为(M,)
的浮点数组,包含每个观测值与最近码字之间的欧几里得距离。- 返回类型:
示例
>>> obs = jnp.array([[1.1, 2.1, 3.1], ... [5.9, 4.8, 6.2]]) >>> code_book = jnp.array([[1., 2., 3.], ... [2., 3., 4.], ... [3., 4., 5.], ... [4., 5., 6.]]) >>> codes, distances = jax.scipy.cluster.vq.vq(obs, code_book) >>> print(codes) [0 3] >>> print(distances) [0.17320499 1.9209373 ]