X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/f19938820e152bbd68f2ed3f8aa3f7d7f182ca06..0b9a8d7f3df27245cab97c9b210e9ce6384928b3:/src/k_means.py?ds=sidebyside diff --git a/src/k_means.py b/src/k_means.py index 119f576..5260601 100644 --- a/src/k_means.py +++ b/src/k_means.py @@ -15,8 +15,10 @@ def cluster(k, d, data, i_centers=None): while delta(old_centers, centers) > 0: old_centers = centers clusters, centers = next_step(old_centers, data) - - return clusters + dst = lambda c, p: sum((a - b) ** 2 for (a, b) in zip(p, c)) ** 0.5 + score = sum([sum(map(lambda p: dst(c, p[0]), clus)) for clus, c in + zip(clusters, centers)]) + return clusters, score def next_step(centers, data): """Compute new clusters and centers."""