Ik neem aan dat je veel punten hebt en snel resultaten nodig hebt - anders kun je bijna alles gebruiken.
Het lijkt me een taak om de kaart te verkleinen
Het deel van de kaart zou een lus zijn "voor elk niet-bezocht punt" en zou gegevensconstructie moeten uitzenden met buren, kandidaatclusters en wat dan ook. In het geval dat een punt is geclassificeerd als ruis, zou het niets moeten uitstralen.
Clusteruitbreiding gaat naar het verkleinen en mogelijk afronden van een deel - ook de taalkeuze zou javascript zijn en alles zou binnen mongo gebeuren