A town planner has plotted houses as [x, y] points in hundreds of metres. There are two neighbourhoods, and sometimes a thin row of houses along a road joins them.
The linkage rule decides what "distance between two groups" means, and the four rules can split the same map very differently.
Task: write sizes_by_linkage(points, n_groups).
"ward", "complete", "average", "single", fit AgglomerativeClustering(n_clusters=n_groups, linkage=rule) on the points as given. Don't scale them.