Ich habe 2.000.000 Punkte in 100 Dimensionalität Raum. Wie kann ich sie auf K (zum Beispiel 1000) Cluster Cluster?

StackOverflow https://stackoverflow.com/questions/4153981

  •  08-10-2019
  •  | 
  •  

Frage

Das Problem kommt, folgt als. Ich habe M Bilder und Extrakt N für jedes Bild kennzeichnet, und die Dimensionalität jedes Merkmal ist L. So, ich habe M * N (2.000.000 für meinen Fall) verfügt und jede Funktion hat L Dimensionalität (100 für meinen Fall). Ich brauche dieser M * N-Funktionen in K Cluster gruppieren. Wie kann ich es tun? Danke.

War es hilfreich?

Lösung

Wollen Sie 1000 Cluster von Bildern oder von Merkmalen oder von (Bild, Funktion) Paare?
Auf jeden Fall klingt es, als ob Sie die Daten reduzieren müssen werden und einfachere Methoden verwenden.

Eine Möglichkeit ist, zwei Pässe K-Cluster:
a) teilen die 2 Millionen Datenpunkte in 32 Clustern,
b) aufgeteilt jede dieser in 32 mehr.
Wenn dies funktioniert, sind die resultierenden 32 ^ 2 = 1024 Cluster könnte gut genug für Ihre Zwecke sein.

Dann brauchen Sie wirklich 100 Koordinaten? Könnten Sie die 20 wichtigsten erraten, oder einfach nur versuchen, zufällige Teilmengen von 20?

Es gibt eine riesige Literatur:. Google +image "dimension reduction" gibt ~ 70000 Hits

Andere Tipps

Sie haben die Frage "k-means" markiert. Warum können Sie nicht k-Mittel verwenden? Ist das eine Frage der Effizienz? (Persönlich habe ich nur k-Mittel in zwei Dimensionen verwendet) Oder ist es eine Frage, wie der k-means Algorithmus zu kodieren?

sind diskret Ihre Werte (z. B. Kategorien) oder kontinuierlich (z. B. ein Koordinatenwert)? Wenn letzteres, dann sollten k-Mittel in Ordnung in meinem Verständnis. Für das Clustering von diskreten Werten wird dann ein anderer Algorithmus erforderlich sein - vielleicht hierarchisches Clustering

?

Die EM-Baum und K-Baum-Algorithmen in der LMW-tree Projekt können Probleme Cluster dieser groß und größer. Unser jüngstes Ergebnis wird Clustering 733 Millionen Web-Seiten in 600.000 Cluster. Es gibt auch eine Streaming-Variante des EM-Baumes, in dem der Datensatz von der Festplatte für jede Iteration gestreamt wird.

Ein guter Trick, wenn Millionen von Punkten Clustering ist, sie zu probieren, gruppieren die Probe, und fügen Sie dann die restlichen Punkte an die bestehende Probe

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top