Scikit K - bedeutet Clustering-Leistungsmaß

9

Ich versuche, ein Clustering mit der K-Means-Methode durchzuführen, aber ich möchte die Leistung meiner Clustering messen. Ich bin kein Experte, aber ich bin begierig, mehr über Clustering zu lernen.

Hier ist mein Code:

%Vor%

Jetzt, da ich meine KMeans und meine drei Cluster gespeichert habe, versuche ich, den Dunn-Index zu messen die Leistung meiner Clustering (wir suchen den größeren Index) Zu diesem Zweck importiere ich das jqm_cvi-Paket (verfügbar hier ) )

%Vor%

Meine Frage ist: Gibt es in Scikit Learn bereits eine interne Clusteranalyse? (außer silhouette_score)? Oder in einer anderen bekannten Bibliothek?

Danke für Ihre Zeit

    
Viphone Rathikoun 04.05.2017, 13:55
quelle

1 Antwort

1

Normalerweise wird das Clustering als nicht überwachte Methode betrachtet. Daher ist es schwierig, eine gute Leistungsmetrik zu erstellen (wie auch in den vorherigen Kommentaren vorgeschlagen).

Nichtsdestotrotz können viele nützliche Informationen aus diesen Algorithmen extrapoliert werden (z. B. k-Mittel). Das Problem ist, wie man jedem Cluster eine Semantik zuordnet und damit die "Performance" des Algorithmus misst. In vielen Fällen ist eine gute Vorgehensweise die Visualisierung Ihrer Cluster. Wenn Ihre Daten, wie in vielen Fällen, hochdimensionale Merkmale aufweisen, ist die Visualisierung natürlich nicht so einfach. Lassen Sie mich zwei Wege vorschlagen, mit k-means und einem anderen Clustering-Algorithmus.

  • K-mean : In diesem Fall können Sie die Dimensionalität Ihrer Daten reduzieren, indem Sie beispielsweise PCA . Mit einem solchen Algorithmus können Sie die Daten in einem 2D-Diagramm darstellen und dann Ihre Cluster visualisieren. Was Sie jedoch in diesem Diagramm sehen, ist eine Projektion in einem 2D-Raum Ihrer Daten, kann also nicht sehr genau sein, kann Ihnen aber dennoch eine Vorstellung davon vermitteln, wie Ihre Cluster verteilt sind.

  • Selbstorganisierende Karte Dies ist ein Clustering-Algorithmus, der auf neuronalen Netzwerken basiert, die eine diskretisierte Darstellung des Eingangsraums der Trainingsstichproben erzeugen, die als Karte bezeichnet wird, und ist daher a Methode zur Reduzierung der Dimensionalität ( SOM ). Sie können ein sehr schönes Python-Paket namens somoclu finden, das diesen Algorithmus implementiert hat und eine einfache Möglichkeit bietet, das Ergebnis zu visualisieren . Dieser Algorithmus eignet sich auch sehr gut zum Clustering, da die Anzahl der Cluster nicht a priori ausgewählt werden muss (in k-mean muss man k, hier nein, wählen).

Andrea Madotto 07.08.2017 10:18
quelle