1. A non-transitory computer-readable medium storing computer-executable instructions that, when executed by of a computer cause the computer to perform functions, the instructions comprising instructions for: receiving a set of un-clustered data points to be grouped into one or more clusters; calculating respective distances between all pairs of data points in the set of un-clustered data points; selecting a set of one or more arbiter points that are representative of the set of un-clustered data points; computing a per-arbiter similarity for each pair of data points in the set of un-clustered data points, based at least in part on the distances between data points in the pair with respect to each arbiter point in the set of arbiter points, such that the similarity metric indicates that data points (x 1 ) and (x 2 ) in a given data point pair are similar with respect to a given arbiter point (a) when a distance between (x 1 ) and (x 2 ) is less than: i) a distance between (x 1 ) and (a) and ii) a distance between (x 2 ) and (a); combining the per-arbiter similarities for each data point pair to compute a similarity metric for each data point pair; identifying data points (x 1 ) and (x 2 ) as similar data points when the similarity metric for (x 1 ) and (x 2 ) exceeds a threshold; and grouping the similar data points into the one or more clusters.