Ho una lista di oggetti opachi. Sono in grado di calcolare la distanza tra loro (non è vero, basta impostare le condizioni per il problema), solo:Come raggruppare oggetti (senza coordinate)
class Thing {
public double DistanceTo(Thing other);
}
Vorrei raggruppare questi oggetti. Vorrei controllare il numero di cluster e vorrei per "vicino" oggetti di essere nello stesso cluster:
List<Cluster> cluster(int numClusters, List<Thing> things);
Qualcuno può suggerire (e link al ;-)) alcuni algoritmi di clustering (la più semplice, meglio è!) o biblioteche che possono aiutarmi?
Chiarimento La maggior parte degli algoritmi di clustering richiedono che gli oggetti siano disposti in uno spazio N-dimensionale. Questo spazio è usato per trovare "centroidi" di cluster. Nel mio caso, non so cosa sia N, né so come estrarre un sistema di coordinate dagli oggetti. Tutto quello che so è quanto distano 2 oggetti. Mi piacerebbe trovare un buon algoritmo di clustering che usi solo quell'informazione.
Immagina di raggruppare in base all'odore di un oggetto. Non sai come deporre "gli odori" su un piano 2D, ma sai se due odori sono simili o meno.
Ottima informazione, grazie mille. –