from_mlab_linkage#
- scipy.cluster.hierarchy.from_mlab_linkage(Z)[источник]#
Преобразовать матрицу кластеризации, сгенерированную MATLAB(TM), в новую матрицу кластеризации, совместимую с этим модулем.
Преобразование делает две вещи:
индексы преобразуются из
1..Nto0..(N-1)форма, ичетвертый столбец
Z[:,3]добавляется там, гдеZ[i,3]представляет количество исходных наблюдений (листьев) в несинглтонном кластереi.
Эта функция полезна при загрузке связей из устаревших файлов данных, сгенерированных MATLAB.
- Параметры:
- Zndarray
Матрица связей, сгенерированная MATLAB(TM).
- Возвращает:
- ZSndarray
Матрица связей, совместимая с
scipy.cluster.hierarchy.
Смотрите также
linkageдля описания того, что такое матрица связей.
to_mlab_linkageпреобразование из формата SciPy в MATLAB.
Примечания
from_mlab_linkageимеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окруженияSCIPY_ARRAY_API=1и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).Библиотека
CPU
GPU
NumPy
✅
н/д
CuPy
н/д
⛔
PyTorch
✅
⛔
JAX
✅
⛔
Dask
⚠️ объединяет блоки
н/д
См. Поддержка стандарта array API для получения дополнительной информации.
Примеры
>>> import numpy as np >>> from scipy.cluster.hierarchy import ward, from_mlab_linkage
Дана матрица связей в формате MATLAB
mZ, мы можем использоватьscipy.cluster.hierarchy.from_mlab_linkageдля импорта в формат SciPy:>>> 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. ]])
Как и ожидалось, матрица связей
Zвозвращаемый включает дополнительный столбец, подсчитывающий количество исходных выборок в каждом кластере. Также все индексы кластеров уменьшены на 1 (формат MATLAB использует индексацию с 1, тогда как SciPy использует индексацию с 0).