scikit-learn, wie zu wissen, Dokumente im cluster?
Ich bin neu sowohl python und scikit-learn, also bitte Geduld mit mir.
Nahm ich den source code für die k-means-clustering-Algorithmus von k-means-clustering.
Habe ich dann geändert, um auf meinem lokalen mittels load_file Funktion.
Obwohl der Algorithmus beendet, aber es erzeugt keine Ausgabe, wie die Dokumente gruppiert werden, zusammen.
Fand ich, dass die km Objekt "km.label" array der Listen der Schwerpunkt-id des jeweiligen Dokuments.
Es hat auch die centroid-Vektor mit "km.cluster_centers_"
Aber was für ein Dokument ist es ? Ich habe um die Karte zu "dataset", die einen "Haufen" - Objekt.
Wenn ich drucken dataset.Daten[0], bekomme ich die Daten der ersten Datei, die ich denke, sind gemischt. aber ich will nur den Namen wissen.
Ich bin verwirrt Fragen, wie wird das Dokument im dataset.Daten[0] ist clusterd zu centoid bei km.label[0] ?
Mein grundlegendes problem ist, herauszufinden, welche Dateien gebündelt sind.
Wie finden Sie das ?
- Stellen Sie sicher, zu überprüfen, ob die Ergebnisse sinnvoll sind. K-means wird oft zurück, Ergebnisse, mathematische optimas, aber überhaupt nicht hilfreich für das eigentliche problem bei der hand!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vergessen die
Bunch
Objekt. Es ist nur ein Implementierungsdetail laden das toy datasets, die gebündelt mit scikit-learn.Im echten Leben, mit echten Daten müssen Sie nur direkt anrufen:
dann sammeln cluster-Zuordnungen aus:
my_document_features
ist ein 2D-datastructure: entweder ein numpy-array oder ein scipy.sparse matrix mit der Form(n_documents, n_features)
.km.labels_
ist ein 1D-numpy-array mit Form(n_documents,)
. Daher ist das erste element inlabels_
ist der index des Clusters der das beschriebene Dokument in der ersten Zeile dermy_document_features
feature-matrix.In der Regel würden Sie bauen
my_document_features
mit einemTfidfVectorizer
Objekt:sowie
my_text_documents
würde entweder eine Liste von python unicode Objekte, wenn Sie Lesen Sie die Dokumente direkt (z.B. aus einer Datenbank oder Zeilen aus einer einzelnen CSV-Datei oder was auch immer Sie wollen) oder alternativ:wo
my_text_files
ist eine python-Liste für den Pfad zu Ihrem Dokument-Dateien auf Ihrer Festplatte (vorausgesetzt, Sie sind verschlüsselt, wobei die UTF-8-Codierung).Die Länge der
my_text_files
odermy_text_documents
Listen solltenn_documents
daher das mapping mitkm.labels_
ist direkt.Als scikit-learn ist nicht nur für clustering oder Kategorisierung der Dokumente verwenden wir den Namen "Beispiel" anstelle von "Dokument". Auf diese Weise werden Sie sehen, das wir verwenden
n_samples
stattn_documents
dokumentieren Sie die erwarteten Formen der Argumente, die Eigenschaften der Schätzer in der Bibliothek.dataset.data
ist eine Liste von in-memory-python-unicode-string mit dem Inhalt der text-Dateien. Wenn Sie dieload_files()
- Dienstprogramm diefilenames
gespeichert sind, in diedataset.filenames
Liste.dataset.filenames
ist der Schlüssel 🙂Dies ist, wie ich es Tat.
load_files Erklärung :
so tun
dann bekam ich das Ergebnis :
habe ich Sie in den Clustern, die ein Wörterbuch
und dann Druck ich es 🙂