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,),包含对于给定的obs中的条目,在code_book中最接近的条目的索引0 <= i < K。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 ]