X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/ecc0929cb0e011db2825e79d7495d7ef7b113e1e..676b17ccc2d334fd2574bd26aef14c8381f6aaaa:/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))