from_mlab_linkage#
- scipy.cluster.hierarchy.from_mlab_linkage(Z)[Quelle]#
Konvertiert eine von MATLAB(TM) generierte Linkage-Matrix in eine neue, mit diesem Modul kompatible Linkage-Matrix.
Die Konvertierung führt zwei Dinge durch:
Die Indizes werden von der Form
1..Nin die Form0..(N-1)konvertiert, undeine vierte Spalte
Z[:,3]wird hinzugefügt, wobeiZ[i,3]die Anzahl der ursprünglichen Beobachtungen (Blätter) im Nicht-Einzelelement-Clusteridarstellt.
Diese Funktion ist nützlich beim Laden von Linkages aus alten Datendateien, die von MATLAB generiert wurden.
- Parameter:
- Zndarray
Eine von MATLAB(TM) generierte Linkage-Matrix.
- Rückgabe:
- ZSndarray
Eine Linkage-Matrix, die mit
scipy.cluster.hierarchykompatibel ist.
Siehe auch
linkagefür eine Beschreibung, was eine Linkage-Matrix ist.
to_mlab_linkageKonvertiert vom SciPy- in das MATLAB-Format.
Hinweise
from_mlab_linkagebietet 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 übergeben. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
⛔
PyTorch
✅
⛔
JAX
✅
⛔
Dask
⚠️ führt Chunks zusammen
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Beispiele
>>> import numpy as np >>> from scipy.cluster.hierarchy import ward, from_mlab_linkage
Gegeben sei eine Linkage-Matrix im MATLAB-Format
mZ, wir könnenscipy.cluster.hierarchy.from_mlab_linkageverwenden, um sie in das SciPy-Format zu importieren.>>> mZ = np.array([[1, 2, 1], [4, 5, 1], [7, 8, 1], ... [10, 11, 1], [3, 13, 1.29099445], ... [6, 14, 1.29099445], ... [9, 15, 1.29099445], ... [12, 16, 1.29099445], ... [17, 18, 5.77350269], ... [19, 20, 5.77350269], ... [21, 22, 8.16496581]])
>>> Z = from_mlab_linkage(mZ) >>> Z array([[ 0. , 1. , 1. , 2. ], [ 3. , 4. , 1. , 2. ], [ 6. , 7. , 1. , 2. ], [ 9. , 10. , 1. , 2. ], [ 2. , 12. , 1.29099445, 3. ], [ 5. , 13. , 1.29099445, 3. ], [ 8. , 14. , 1.29099445, 3. ], [ 11. , 15. , 1.29099445, 3. ], [ 16. , 17. , 5.77350269, 6. ], [ 18. , 19. , 5.77350269, 6. ], [ 20. , 21. , 8.16496581, 12. ]])
Wie erwartet, enthält die zurückgegebene Linkage-Matrix
Zeine zusätzliche Spalte, die die Anzahl der ursprünglichen Stichproben in jedem Cluster zählt. Außerdem werden alle Cluster-Indizes um 1 reduziert (das MATLAB-Format verwendet 1-Indizierung, während SciPy 0-Indizierung verwendet).