X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/c8277daa35d45569a356edb7be50d83f73c4e4d1..a5500034cf027ff6fec0d1dc236b36d3b1d82778:/imago_pack/k_means.py diff --git a/imago_pack/k_means.py b/imago_pack/k_means.py index 0019597..c5ddba5 100644 --- 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): + """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: @@ -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( (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))