Domanda

Sto scrivendo un programma in C # in cui ho una serie di 200 punti visualizzati su un'immagine. Tuttavia, i punti tendono a raggrupparsi in varie regioni, e sto cercando di trovare un modo per "cluster." In altre parole, forse disegnare un cerchio / ellisse attorno ai punti cluster.

Qualcuno ha visto un modo per fare questo? Ho sentito parlare di K-means clustering, ma non sono sicuro come implementarlo in C #.

Le eventuali implementazioni preferiti là fuori?

È stato utile?

Soluzione

K-Means vi darà il centro del cluster e un elenco di punti di componenti. È quindi possibile disegnare un cerchio intorno a quel punto in un raggio che è la massima distanza (o media) dei punti che lo compongono. Oppure si potrebbe calcolare il Convex Hull dei punti e usare questo come una "busta" in tutto il cluster.

Una utile estensione di K-Means è il k-means ++ modifica che fa un lavoro migliore di scegliere coordinate iniziali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top