无法绕过这条蟒蛇

时间:2013-01-29 21:22:44

标签: python algorithm data-structures

我刚刚按照此处的文档实现了层次式群集:http://www.mathworks.com/help/stats/hierarchical-clustering.html?s_tid=doc_12b

所以,让我试着说明我想要做的事情。 看看下图:

dendogram

现在,这个树形图是根据以下数据生成的:

                         node1        node2         dist(node1,node2)   num_elems
assigning index  **37  to  [ 16.          26**.           1.14749118   2.        ]
assigning index  38  to  [ 4.          7.          1.20402602  2.        ]
assigning index  39  to  [ 13.          29.           1.44708015   2.        ]
assigning index  40  to  [ 12.          18.           1.45827365   2.        ]
assigning index  41  to  [ 10.          34.           1.49607538   2.        ]
assigning index  42  to  [ 17.          38.           1.52565922   3.        ]
assigning index  43  to  [  8.          25.           1.58919037   2.        ]
assigning index  44  to  [  3.          40.           1.60231007   3.        ]
assigning index  45  to  [  6.          42.           1.65755731   4.        ]
assigning index  46  to  [ 15.          23.           1.77770844   2.        ]
assigning index  47  to  [ 24.          33.           1.77771082   2.        ]
assigning index  48  to  [ 20.          35.           1.81301111   2.        ]
assigning index  49  to  [ 19.         48.          1.9191061   3.       ]
assigning index  50  to  [  0.          44.           1.94238609   4.        ]
assigning index  51  to  [  2.         36.          2.0444266   2.       ]
assigning index  52  to  [ 39.          45.           2.11667375   6.        ]
assigning index  53  to  [ 32.          43.           2.17132916   3.        ]
assigning index  54  to  [ 21.         41.          2.2882061   3.       ]
assigning index  55  to  [  9.          30.           2.34492327   2.        ]
assigning index  56  to  [  5.          51.           2.38383321   3.        ]
assigning index  57  to  [ 46.          52.           2.42100025   8.        ]
assigning index  58  to  [ **28.          37**.           2.48365024   3.        ]
assigning index  59  to  [ 50.          53.           2.57305009   7.        ]
assigning index  60  to  [ 49.          57.           2.69459675  11.        ]
assigning index  61  to  [ 11.          54.           2.75669475   4.        ]
assigning index  62  to  [ 22.          27.           2.77163751   2.        ]
assigning index  63  to  [ 47.          55.           2.79303418   4.        ]
assigning index  64  to  [ 14.          60.           2.88015327  12.        ]
assigning index  65  to  [ 56.          59.           2.95413905  10.        ]
assigning index  66  to  [ 61.          65.           3.12615829  14.        ]
assigning index  67  to  [ 64.          66.           3.28846304  26.        ]
assigning index  68  to  [ 31.         58.          3.3282066   4.       ]
assigning index  69  to  [ 63.          67.           3.47397104  30.        ]
assigning index  70  to  [ 62.          68.           3.63807605   6.        ]
assigning index  71  to  [  1.          69.           4.09465969  31.        ]
assigning index  72  to  [ 70.          71.           4.74129435  37.     

所以基本上,我的数据中有37个点从0-36开始索引。现在,当我看到此列表中的第一个元素时......我指定了i + len(thiscompletelist)+ 1 因此,例如,当在将来的迭代中再次看到id为37时,那么这基本上意味着它也链接到分支。 我使用matlab生成这个图像。但我希望将此信息作为query_node(node_id)查询,以便按级别向我返回一个列表..这样...... query_node(37)我得到了

{ "left": {"level":1 {"id": 28}} , "right":{"level":0 {"left" :"id":16},"right":{"id":26}}}

实际上......我甚至不知道这样做的数据结构是什么。 基本上我想通过节点查询并获得一些见解,当我站在那个节点上并看下面时,这个树形图的结构是什么样的。 :(

编辑1:

* OOH我不知道你无法缩放图像..基本上左边的第四个元素是28,绿色条目是数据的第一行..

因此树形图上的第四条垂直线代表28

该行旁边(第一个绿线)代表16

并且该行旁边(第二个绿线)代表26 *

1 个答案:

答案 0 :(得分:2)

建立现有的东西总是好的,所以看看dendrogram in scipy