scipy.cluster.hierarchy.

leaves_list#

scipy.cluster.hierarchy.leaves_list(Z)[источник]#

Вернуть список идентификаторов листовых узлов.

Возвращаемое значение соответствует индексу вектора наблюдений, как он появляется в дереве слева направо. Z — матрица связей.

Параметры:
Zndarray

Иерархическая кластеризация, закодированная как матрица. Z является матрицей связей. См. linkage для получения дополнительной информации.

Возвращает:
leaves_listndarray

Список идентификаторов листовых узлов.

Смотрите также

dendrogram

для информации о структуре дендрограммы.

Примечания

leaves_list имеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окружения SCIPY_ARRAY_API=1 и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).

Библиотека

CPU

GPU

NumPy

н/д

CuPy

н/д

PyTorch

JAX

Dask

⚠️ объединяет блоки

н/д

См. Поддержка стандарта array API для получения дополнительной информации.

Примеры

>>> from scipy.cluster.hierarchy import ward, dendrogram, leaves_list
>>> from scipy.spatial.distance import pdist
>>> from matplotlib import pyplot as plt
>>> X = [[0, 0], [0, 1], [1, 0],
...      [0, 4], [0, 3], [1, 4],
...      [4, 0], [3, 0], [4, 1],
...      [4, 4], [3, 4], [4, 3]]
>>> Z = ward(pdist(X))

Матрица связей Z представляет дендрограмму, то есть дерево, которое кодирует структуру выполненной кластеризации. scipy.cluster.hierarchy.leaves_list показывает соответствие между индексами в X набор данных и листья в дендрограмме:

>>> leaves_list(Z)
array([ 2,  0,  1,  5,  3,  4,  8,  6,  7, 11,  9, 10], dtype=int32)
>>> fig = plt.figure(figsize=(25, 10))
>>> dn = dendrogram(Z)
>>> plt.show()
../../_images/scipy-cluster-hierarchy-leaves_list-1.png