source: orange/Orange/doc/reference/hclust_art.py @ 9671:a7b056375472

Revision 9671:a7b056375472, 2.2 KB checked in by anze <anze.staric@…>, 2 years ago (diff)

Moved orange to Orange (part 2)

Line 
1import orange
2
3def printClustering(cluster):
4    if cluster.branches:
5        return "(%s%s)" % (printClustering(cluster.left), printClustering(cluster.right))
6    else:
7        return `cluster[0]`
8
9m = [[],
10     [ 3],
11     [ 2,  4],
12     [17,  5,  4],
13     [ 2,  8,  3,  8],
14     [ 7,  5, 10, 11, 2],
15     [ 8,  4,  1,  5, 11, 13],
16     [ 4,  7, 12,  8, 10,  1,  5],
17     [13,  9, 14, 15,  7,  8,  4,  6],
18     [12, 10, 11, 15,  2,  5,  7,  3,  1]]
19
20matrix = orange.SymMatrix(m)
21root = orange.HierarchicalClustering(matrix, linkage=orange.HierarchicalClustering.Average)
22
23print printClustering(root)
24print root.height
25
26for el in root.left:
27    print el,
28print
29
30root.mapping.setattr("objects", ["Ann", "Bob", "Curt", "Danny", "Eve", "Fred", "Greg", "Hue", "Ivy", "Jon"])
31print printClustering(root)
32
33matrix.setattr("objects", ["Ann", "Bob", "Curt", "Danny", "Eve", "Fred", "Greg", "Hue", "Ivy", "Jon"])
34root = orange.HierarchicalClustering(matrix, linkage=orange.HierarchicalClustering.Average)
35
36for el in root.left:
37    print el,
38print
39
40print root.left[-1]
41
42root.left.swap()
43print printClustering(root)
44
45root.permute([1, 0])
46print printClustering(root)
47
48def prune(cluster, togo):
49    if cluster.branches:
50        if togo<0:
51            cluster.branches = None
52        else:
53            for branch in cluster.branches:
54                prune(branch, togo-cluster.height)
55
56def printClustering2(cluster):
57    if cluster.branches:
58        return "(%s%s)" % (printClustering2(cluster.left), printClustering2(cluster.right))
59    else:
60        return str(tuple(cluster))
61
62def listOfClusters0(cluster, alist):
63    if not cluster.branches:
64        alist.append(list(cluster))
65    else:
66        for branch in cluster.branches:
67            listOfClusters0(branch, alist)
68
69def listOfClusters(root):
70    l = []
71    listOfClusters0(root, l)
72    return l
73
74prune(root, 9)
75print printClustering2(root)
76
77print listOfClusters(root)
78
79del root.mapping.objects
80print printClustering(root)
81print root.mapping
82print root.left.first
83print root.left.last
84print root.left.left.first
85print root.left.left.last
86print root.left.mapping[root.left.first:root.left.last]
87
88
89
90root.mapping.setattr("objects", ["Ann", "Bob", "Curt", "Danny", "Eve", "Fred", "Greg", "Hue", "Ivy", "Jon"])
91print listOfClusters(root)
Note: See TracBrowser for help on using the repository browser.