jax.scipy.cluster.vq.vq#
- jax.scipy.cluster.vq.vq(obs, code_book, check_finite=True)[原始碼]#
從程式碼簿將程式碼指派給一組觀察值。
scipy.cluster.vq.vq()
的 JAX 實作。根據最近的歐幾里得距離,將
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
的索引,代表code_book
中最接近obs
中給定條目的條目。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 ]