Skip to content

Commit

Permalink
knn_medie.py fixed, be aware the function needs one argument less res…
Browse files Browse the repository at this point in the history
…pect

to the previous version. The "label" argument sould not be passed.
  • Loading branch information
0flash0 committed Jan 13, 2010
1 parent e2c7342 commit ee30bbc
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 22 deletions.
28 changes: 6 additions & 22 deletions lib/knn/knn_medie.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@

class kS:

def __init__(self, ts, training_set, labels, centroids,
def __init__(self, ts, training_set, centroids,
distance_type="dtw", fast=False, radius=20, pu="CPU"):
self.ts = ts
self.training_set = training_set
self.labels = labels
self.centroids = centroids
self.distance_type = distance_type
self.fast = fast
Expand All @@ -18,7 +17,7 @@ def __init__(self, ts, training_set, labels, centroids,
self.pu = pu

self.tmp_matrix = []
for i in range(len(self.training_set)):
for i in self.centroids:
self.tmp_matrix.append(self.training_set[i])
self.tmp_matrix.append(self.ts)

Expand All @@ -34,28 +33,15 @@ def compute(self):
self.nn=[]
self.dist_list = []
for i in range(len(self.dist_list_tmp)):
a = [self.labels[i],self.dist_list_tmp[i]]
a = [self.dist_list_tmp[i], self.centroids[i]]
self.dist_list.append(a)

self.dist_list.sort()
self.centroids.sort()
self.dist_list = zip(*self.dist_list)
self.cluster_averages = []
for i in range(len(self.centroids)):
start = self.dist_list[0].index(self.centroids[i])
try:
end = self.dist_list[0].index(self.centroids[i+1])
except IndexError:
end = len(self.dist_list[0])
avr = sum(self.dist_list[1][start:end]) / len(self.dist_list[1][start:end])
self.cluster_averages.append([avr, self.centroids[i]])

self.cluster_averages.sort()
self.mindist = self.cluster_averages[0][0]
self.mindist = self.dist_list[0][0]
i = 0
try:
while (self.cluster_averages[i][0] == self.mindist):
self.nn.append(self.cluster_averages[i][1])
while (self.dist_list[i][0] == self.mindist):
self.nn.append(self.dist_list[i][1])
i = i+1
except IndexError:
pass
Expand All @@ -65,13 +51,11 @@ def compute(self):
ts = [1,2,3,4,5]
training_set = [[1,2,3,4,5],[5,4,3,2,1],[5,4,4,2,1],[2,2,3,4,5]]
centroids = [1,2,3]
labels = [3,2,2,1]
distance_type = 'dtw'
fast = False
radius = 20
nn = kS(ts,
training_set,
labels,
centroids,
distance_type,
fast,
Expand Down
Empty file modified setup.py
100644 → 100755
Empty file.

0 comments on commit ee30bbc

Please sign in to comment.