whiten#
- scipy.cluster.vq.whiten(obs, check_finite=None)[Quelle]#
Normalisiert eine Gruppe von Beobachtungen auf Basis einzelner Merkmale.
Vor dem Ausführen von k-means ist es vorteilhaft, jede Merkmalsdimension der Beobachtungsmengen durch ihre Standardabweichung neu zu skalieren (d.h. sie zu "whitening" - wie bei "weißem Rauschen", bei dem jede Frequenz gleiche Leistung hat). Jedes Merkmal wird durch seine Standardabweichung über alle Beobachtungen geteilt, um ihm eine Einheitsvarianz zu geben.
- Parameter:
- obsndarray
Jede Zeile des Arrays ist eine Beobachtung. Die Spalten sind die Merkmale, die bei jeder Beobachtung gesehen wurden.
# f0 f1 f2 obs = [[ 1., 1., 1.], #o0 [ 2., 2., 2.], #o1 [ 3., 3., 3.], #o2 [ 4., 4., 4.]] #o3
- check_finitebool, optional
Ob überprüft werden soll, ob die Eingabematrizen nur endliche Zahlen enthalten. Das Deaktivieren kann die Leistung verbessern, kann aber zu Problemen (Abstürze, Nicht-Terminierung) führen, wenn die Eingaben Unendlichkeiten oder NaNs enthalten. Standard: True für sofortige Backends und False für faule.
- Rückgabe:
- resultndarray
Enthält die Werte in obs, skaliert durch die Standardabweichung jeder Spalte.
Hinweise
whitenhat experimentelle Unterstützung für Python Array API Standard-kompatible Backends zusätzlich zu NumPy. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie eine UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderen Fähigkeiten) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
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 whiten >>> features = np.array([[1.9, 2.3, 1.7], ... [1.5, 2.5, 2.2], ... [0.8, 0.6, 1.7,]]) >>> whiten(features) array([[ 4.17944278, 2.69811351, 7.21248917], [ 3.29956009, 2.93273208, 9.33380951], [ 1.75976538, 0.7038557 , 7.21248917]])