FUCK THE POLICE
911 EVERY DAY
I actually was able to fix two bugs from looking at this data. First, I figured out that my quota was being round down rather than up, leading to people unnecessarily being switched to poorly fitting clusters, when such a switch didn't even make the cluster sizes any more even.
Next I figured out that you really should judge who is being kicked out of an above quota cluster by who is closest to another below quota one, rather than simply kicking whoever is furthest from the center of that cluster. Previously I had been getting kicked out of the centre left cluster, because I was so distantly left, and into a right wing one with Tom and Tsuke that was below quota - which I realized made no sense. After the adjustment, you get a pretty reasonable distribution from right to left in the two seat and three seat groupings.
Now I think it's nearly equivalent to the elki solution:
https://elki-project.github.io/tutorial/same-size_k_means
Next I figured out that you really should judge who is being kicked out of an above quota cluster by who is closest to another below quota one, rather than simply kicking whoever is furthest from the center of that cluster. Previously I had been getting kicked out of the centre left cluster, because I was so distantly left, and into a right wing one with Tom and Tsuke that was below quota - which I realized made no sense. After the adjustment, you get a pretty reasonable distribution from right to left in the two seat and three seat groupings.
Now I think it's nearly equivalent to the elki solution:
https://elki-project.github.io/tutorial/same-size_k_means