Search similar

This does not scale to the entire dataset. If we want to cluster 10^8 rows, we should be able to stream through the rows to compute row labels. Could we factor `loom.preql.cluster` as three steps:

1. construct spectral representation from 10^3 samples, resulting in a 10^3 -> 10^1 dimensional projection and a small number of cluster means

2. dimensionality reduce all 10^8 data points to a 10^7 x 10^1 matrix

3. find cluster labels for all 10^8 points using nearest-mean in the 10^1 space