예제 #1
0
 def setUp(self):
     m = [[], [3], [2, 4], [17, 5, 4], [2, 8, 3, 8], [7, 5, 10, 11, 2],
          [8, 4, 1, 5, 11, 13], [4, 7, 12, 8, 10, 1, 5],
          [13, 9, 14, 15, 7, 8, 4, 6], [12, 10, 11, 15, 2, 5, 7, 3, 1]]
     self.matrix = Orange.misc.SymMatrix(m)
     self.matrix.setattr("objects", [
         "Ann", "Bob", "Curt", "Danny", "Eve", "Fred", "Greg", "Hue", "Ivy",
         "Jon"
     ])
     self.cluster = hier.HierarchicalClustering(self.matrix)
예제 #2
0
    def run_clustering(self):
        if self.matrix:

            def callback(value, *args):
                self.progressBarSet(value * 100)

            self.progressBarInit()
            self.root_cluster = hierarchical.HierarchicalClustering(
                self.matrix,
                linkage=self.linkage[self.Linkage][1],
                progressCallback=callback)

            self.progressBarFinished()
            self.display_tree()
예제 #3
0
    dist_matrix = Cosine(dist)
else:
    dist_matrix = Euclidean(dist)

imf = []

for i in range(len(dist)):
    imf.append(str(dist[i,'image']))

#hierarchical clustering (dividing images into clusters)

groups = {}


from Orange.clustering import hierarchical
hierar = hierarchical.HierarchicalClustering(n_clusters = upload.NumberOfCluster)
hierar.linkage = hierarchical.WARD
hierar.fit(dist_matrix)
#print(hierar.labels)

for file, cluster in zip(imf,hierar.labels):
    if cluster not in groups.keys():
        groups[cluster] = []
        groups[cluster].append(file)
    else:
        groups[cluster].append(file)

#to find out in which cluster the uploaded image went
cluster = 0
c = 0
for x in groups:
예제 #4
0
import Orange
from Orange.clustering import kmeans, hierarchical
from Orange.data import Table
from Orange.evaluation import clustering
from Orange.distance import *
from Orange.widgets.evaluate import owconfusionmatrix
from collections import defaultdict

Hierarchical = hierarchical.HierarchicalClustering(n_clusters=3,
                                                   linkage="average")
clusters = [Hierarchical]
#sample data operations
data = Table("iris.tab")
dist_matrix = Euclidean(data)
Hierarchical.fit(dist_matrix)

dict = defaultdict(int)
for label in Hierarchical.labels:
    #key=label, value=number of label
    dict[label] += 1
print("-----Clustering Results-----")
for key, value in dict.items():
    print(key, value)
예제 #5
0
Created on Tue Oct 16 09:24:46 2018

@author: AnnaPS
"""
from Orange.data import Table
from Orange.distance import Euclidean
from Orange.clustering import hierarchical
from sklearn.cluster import KMeans
from collections import Counter
import numpy as np
import matplotlib.pyplot as plt

print('#####################Task 1###################')
data_tab = Table('iris')
dist_mtrx = Euclidean(data_tab)
hier_cluster = hierarchical.HierarchicalClustering(n_clusters=3,
                                                   linkage='average')
hier_cluster.fit(dist_mtrx)
print(hier_cluster.labels)

print('####################Task 2#####################')
print('PART-A')
rect_pts_x = np.random.random_integers(1, 15, (150, 1))
rect_pts_y = np.random.random_integers(1, 120, (150, 1))
rect_pts1 = np.concatenate((rect_pts_x, rect_pts_y), axis=1)

rect_pts_x = np.random.random_integers(31, 45, (150, 1))
rect_pts_y = np.random.random_integers(41, 160, (150, 1))
rect_pts2 = np.concatenate((rect_pts_x, rect_pts_y), axis=1)

rect_pts_x = np.random.random_integers(61, 75, (150, 1))
rect_pts_y = np.random.random_integers(1, 120, (150, 1))