projekty
/
imago.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
comments for filters
[imago.git]
/
imago_pack
/
k_means.py
diff --git
a/imago_pack/k_means.py
b/imago_pack/k_means.py
index
0019597
..
c5ddba5
100644
(file)
--- a/
imago_pack/k_means.py
+++ b/
imago_pack/k_means.py
@@
-1,8
+1,9
@@
-"""K-means module"""
+"""K-means module
.
"""
import random
def cluster(k, d, data, i_centers=None):
import random
def cluster(k, d, data, i_centers=None):
+ """Find *k* clusters on *d* dimensional *data*."""
borders = [(min(p[0][i] for p in data), max(p[0][i] for p in data))
for i in range(d) ]
if i_centers:
borders = [(min(p[0][i] for p in data), max(p[0][i] for p in data))
for i in range(d) ]
if i_centers:
@@
-39,5
+40,5
@@
def centroid(cluster):
return [sum(c[0][i] for c in cluster) / l for i in range(d)]
def delta(c1, c2):
return [sum(c[0][i] for c in cluster) / l for i in range(d)]
def delta(c1, c2):
- return sum(
(sum(abs(cc1 - cc2) for (cc1, cc2) in zip (ccc1, ccc2)) if ccc2
+ return sum((sum(abs(cc1 - cc2) for (cc1, cc2) in zip (ccc1, ccc2)) if ccc2
else 0.) for (ccc1, ccc2) in zip(c1, c2))
else 0.) for (ccc1, ccc2) in zip(c1, c2))