构建非超数据的树状图

时间:2018-08-01 04:05:33

标签: python scipy hierarchical-clustering dendrogram

我正在研究层次聚类的问题,并希望可视化树状图。但是,传递给我的输出不是超量的,使用scipy给我一个错误。以下是作为输入传递给函数dendrogram(z)的数据的示例,其中z被假定为一个numpy矩阵,每一行的排列方式如下[clusterA, clusterB, dissimilarity_score, size_of_new_cluster]以及我收到的错误

我不确定是否是因为数据不是超计量的?因为您可以看到群集的合并顺序不是按照它们的相似性得分排序的。如果是这样,是否有人对我如何生成自己的树状图有任何想法或链接?我在树上过马路很好。在下一步之前,我只需要对输出进行虚拟化。

数据示例

150 215 5.89187 2
3866 3933 5.39533 2
5428 5531 3.9698 2
7418 7515 5.20076 2
8168 8250 5.90439 2
8810 8876 4.21574 2

错误消息

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-16-13fcab7954a8> in <module>()
     10     z,
     11     leaf_rotation=90.,  # rotates the x axis labels
---> 12     leaf_font_size=8.,  # font size for the x axis labels
     13 )
     14 plt.show()

~\Anaconda3\envs\DIS2018\lib\site-packages\scipy\cluster\hierarchy.py in dendrogram(Z, p, truncate_mode, color_threshold, get_leaves, orientation, labels, count_sort, distance_sort, show_leaf_counts, no_plot, no_labels, leaf_font_size, leaf_rotation, leaf_label_func, show_contracted, link_color_func, ax, above_threshold_color)
   2425                          "'bottom', or 'right'")
   2426 
-> 2427     is_valid_linkage(Z, throw=True, name='Z')
   2428     Zs = Z.shape
   2429     n = Zs[0] + 1

~\Anaconda3\envs\DIS2018\lib\site-packages\scipy\cluster\hierarchy.py in is_valid_linkage(Z, warning, throw, name)
   1602         if _check_hierarchy_uses_cluster_before_formed(Z):
   1603             raise ValueError('Linkage %suses non-singleton cluster before '
-> 1604                              'it is formed.' % name_str)
   1605         if _check_hierarchy_uses_cluster_more_than_once(Z):
   1606             raise ValueError('Linkage %suses the same cluster more than once.'

ValueError: Linkage 'Z' uses non-singleton cluster before it is formed.

0 个答案:

没有答案