vq#
- scipy.cluster.vq.vq(obs, code_book, check_finite=True)[Quelle]#
Weist Codes aus einem Codebuch Beobachtungen zu.
Weist jeder Beobachtung einen Code aus einem Codebuch zu. Jeder Beobachtungsvektor im 'M' mal 'N' obs-Array wird mit den Zentroiden im Codebuch verglichen und der Code des nächstgelegenen Zentroiden zugewiesen.
Die Merkmale in obs sollten Einheitsvarianz aufweisen, was durch das Durchlaufen der `whiten`-Funktion erreicht werden kann. Das Codebuch kann mit dem k-Means-Algorithmus oder einem anderen Kodierungsalgorithmus erstellt werden.
- Parameter:
- obsndarray
Jede Zeile des 'M' x 'N' Arrays ist eine Beobachtung. Die Spalten sind die "Merkmale", die während jeder Beobachtung gesehen wurden. Die Merkmale müssen zuerst mit der `whiten`-Funktion oder etwas Äquivalentem aufgehellt werden.
- code_bookndarray
Das Codebuch wird normalerweise mit dem k-Means-Algorithmus generiert. Jede Zeile des Arrays enthält einen anderen Code, und die Spalten sind die Merkmale des Codes.
# f0 f1 f2 f3 code_book = [[ 1., 2., 3., 4.], #c0 [ 1., 2., 3., 4.], #c1 [ 1., 2., 3., 4.]] #c2
- check_finitebool, optional
Ob überprüft werden soll, ob die Eingabematrizen nur endliche Zahlen enthalten. Deaktivieren kann die Leistung verbessern, kann aber zu Problemen (Abstürze, Nicht-Terminierung) führen, wenn die Eingaben Unendlichkeiten oder NaNs enthalten. Standard: True
- Rückgabe:
- codendarray
Ein Array der Länge M, das den Index des Codebuchs für jede Beobachtung enthält.
- distndarray
Die Verzerrung (Distanz) zwischen der Beobachtung und ihrem nächstgelegenen Code.
Hinweise
vqunterstützt experimentell Python Array API Standard-kompatible Backends zusätzlich zu NumPy. Bitte testen Sie diese Funktionen, indem Sie eine UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen aus Backend und Gerät (oder anderen Fähigkeiten) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
⛔
PyTorch
✅
⛔
JAX
⚠️ kein JIT
⛔
Dask
⚠️ berechnet Graph
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Beispiele
>>> import numpy as np >>> from scipy.cluster.vq import vq >>> code_book = np.array([[1., 1., 1.], ... [2., 2., 2.]]) >>> features = np.array([[1.9, 2.3, 1.7], ... [1.5, 2.5, 2.2], ... [0.8, 0.6, 1.7]]) >>> vq(features, code_book) (array([1, 1, 0], dtype=int32), array([0.43588989, 0.73484692, 0.83066239]))