[PYTHON] Unbeaufsichtigtes Lernen 2 nicht hierarchisches Clustering

Aidemy 2020/10/29

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur AI-spezialisierten Schule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dies ist der zweite Beitrag des unbeaufsichtigten Lernens. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Arten von Clustering ・ K-Mittel-Methode ・ DBSCAN-Methode

Clustering

Hierarchisches Clustering

-__ Hierarchisches Clustering __ ist eine Methode zum Clustering __ ähnlichster (engster) Daten unter Daten __. ・ Wenn zum Beispiel Daten von a = 1, b = 2, c = 10, d = 15, e = 100 vorliegen 「(a,b),c,d,e」=>「(a,b),(c,d),e」=>「((a,b),(c,d)),e」=>「(((a,b),(c,d)),e)」 Es wird wie folgt geclustert, und wenn alle Daten endgültig erfasst sind, endet es.

Nicht hierarchisches Clustering

-Nicht hierarchisches Clustering ist wie hierarchisches Clustering eine Methode zum Clustering der ähnlichsten (nahen) Daten, erstellt jedoch keine hierarchische Struktur.

Struktur der für das Clustering verwendeten Daten

スクリーンショット 2020-10-28 23.10.58.png

k-bedeutet Methode

-Die __k-means-Methode __ ist eine nicht hierarchische Clustering-Methode. Die Methode des Clustering besteht darin, sich in Cluster mit derselben __ Verteilung __ zu teilen. ・ Verwenden Sie für die Division einen Index namens SSE. SSE ist die Summe der Quadrate (= Dispersion) der Differenz zwischen dem Schwerpunkt (Schwerpunkt) und den Datenpunkten für jeden Cluster. (Details werden später beschrieben) -Lernen Sie dann __centroid __ und wählen Sie es aus, um diese Streuung (SSE) zu minimieren.

・ Der spezifische Ablauf der k_means-Methode ist wie folgt. (1) Extrahieren Sie k Daten aus den Daten und verwenden Sie sie als anfänglichen Schwerpunkt. (2) Ordnen Sie alle Datenpunkte dem nächsten Schwerpunkt zu. (3) Berechnen Sie den Schwerpunkt der in jedem Schwerpunkt gesammelten Datengruppe und legen Sie den Schwerpunkt als neuen Schwerpunkt fest. ④ Berechnen Sie den Abstand zwischen dem ursprünglichen Schwerpunkt und dem neuen Schwerpunkt und wiederholen Sie ② und ③, bis sie näher kommen. ⑤ Beenden Sie, wenn der Abstand groß genug ist.

Ausführung der k-means-Methode

·Code スクリーンショット 2020-10-28 23.11.23.png

・ Ergebnis![Screenshot 2020-10-28 23.12.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/92537145-7ac3-9375- 7d4a-8e44988d9624.png)

Über SSE

・ SSE erklärte, dass es sich um die Summe der Quadrate (= Varianz) der Differenz zwischen dem Schwerpunkt (Schwerpunkt) und den Datenpunkten für jeden Cluster handelt. Dieser Index kann jedoch auch zur Bewertung der Clusterleistung verwendet werden. es kann.

・ Anzeigen des SSE-Werts print("Distortion: %2f"% km.inertia)_ Es sollte getan werden. (Km ist die im vorherigen Abschnitt erstellte KMeans-Instanz.)

Ellbogenmethode

-In der k-means-Methode ist es erforderlich, die Anzahl der Cluster selbst zu bestimmen. Es gibt jedoch eine Methode, die als Referenz für die Bestimmung der Anzahl der Cluster verwendet werden kann. Dies wird als __elbow-Methode __ bezeichnet. -Die Ellbogenmethode ist eine schematische Darstellung von __ "SSE-Wert, wenn die Anzahl der Cluster erhöht wird" __.

・ Code![Screenshot 2020-10-28 23.15.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/7f5b536a-4646-4047- 72ee-50e1e3dad0bb.png)

・ Ergebnis![Screenshot 2020-10-28 23.15.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/c71006b5-f6c7-86dd- 1af1-2fce518018a7.png)

Andere nicht hierarchische Cluster

DBSCAN

In solchen Fällen kann eine Methode namens DBSCAN verwendet werden. -DBSCAN ist eine Methode, die sich auf den Ort konzentriert, an dem __ Daten mehr als eine bestimmte Anzahl erfasst werden, und die Daten um sie herum von den anderen Daten __ trennt.

-Um DBSCAN auszuführen, verwenden Sie __DBSCAN () __. (Das folgende __metric = "euclidean" __ erklärt, den euklidischen Abstand zu verwenden.)

スクリーンショット 2020-10-28 23.17.16.png

Zusammenfassung

-Es gibt zwei Arten von Clustering: hierarchisches Clustering und nicht hierarchisches Clustering. Aufgrund des Algorithmus erfordert nicht hierarchisches Clustering die manuelle Einstellung der Anzahl der Cluster. -Eine der nicht hierarchischen Clustering ist die k-means-Methode . Bei der k-means-Methode werden Cluster durch Wiederholen der Einstellung des Schwerpunkts erzeugt. - SSE kann als Leistungsindex für die k-means-Methode verwendet werden. Man kann sagen, je kleiner der Wert, desto besser das Clustering. -Die optimale Anzahl von Clustern kann mit der __elbow-Methode __ berechnet werden, die die Beziehung zwischen der Anzahl von Clustern und SSE darstellt. -Eine andere Methode für nicht hierarchisches Clustering ist DBSCAN. Da DBSCAN einen Cluster unter Bezugnahme auf die Anzahl der Daten in einem bestimmten Bereich erstellt, ist das Clustering auch bei voreingenommenen Daten problemlos möglich.

Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Unbeaufsichtigtes Lernen 2 nicht hierarchisches Clustering
Python: Unüberwachtes Lernen: Nicht hierarchisches Clustering
Lernen ohne Lehrer 1 Grundlagen
Python: Unüberwachtes Lernen: Grundlagen
Lernen ohne Lehrer 3 Hauptkomponentenanalyse
Lernen Sie mnist unbeaufsichtigt mit Auto Encoder und Cluster und werten Sie latente Variablen aus
Lernen Sie mnist unbeaufsichtigt mit Variations-Auto-Encoder und -Cluster und werten Sie latente Variablen aus