2016-06-08 2 views
1

Пусть Предположим, что мы имеем X матрицу следующим образом:Каково значение возвращаемых значений scipy.cluster.hierarchy.linkage?

[[9 0] 
[1 4] 
[2 3] 
[8 5]] 

Затем

from scipy.cluster.hierarchy import linkage 
Z = linkage(X, method="ward") 
print(Z) 

Возвращение матрицы следующим образом:

[[ 1.   2.   1.41421356 2.  ] 
[ 0.   3.   5.09901951 2.  ] 
[ 4.   5.   10.   4.  ]] 

Какой смысл возвращающихся значений?

ответ

2

Хотя у этого есть been answered before, это был ответ «прочитать документы». Я думаю, что полезно немного объяснить документы.

Из документов, мы читаем, что:

Ап (п-1) на 4 матрицы Z возвращается. На i-й итерации кластеры с индексами Z [i, 0] и Z [i, 1] объединяются для формирования кластера n + i. A кластер с индексом меньше n соответствует одному из n оригинальных наблюдений . Расстояние между кластерами Z [i, 0] и Z [i, 1] равно , данным Z [i, 2]. Четвертое значение Z [i, 3] представляет собой число оригинальных наблюдений во вновь образованном кластере.

Я думаю, что запутанная часть - это первые n кластеров - это однотонные («оригинальные наблюдения»). Таким образом, первое значение в Z фактически представляет собой n + 1-й кластер. Это первый кластер, объединяющий два синглтона.

Итак, в вашем примере Z [0] - это 4 + 1-й кластер. У нас есть

Z[0] = [ 1.   2.   1.41421356 2.  ] 

Первые два значения говорят нам, какие кластеры использовались для создания кластера Z [0]. Это кластер1, синглтон [1,4] и кластер_2, синглтон [2, 3].

Третье значение дает нам расстояние между кластерами. Мы можем проверить, что sqrt ((2-1)^2 + (3-4)^2)) = 1.41 ...

Четвертое значение говорит нам, сколько синглетонов находится в кластере Z [0].

Так, глядя на последний кластер, Z [2], мы видим, что объединяет пихты два кластера в Z. Каждый из них содержит два уникальных одиночек, так что Z [2,3] = 4.

+0

Отвечает ли это на ваш вопрос? – andrew

+1

Да, это правильно. Малая настройка - «An (n-1) на 4 матрицы Z" –

 Смежные вопросы

  • Нет связанных вопросов^_^