[Python] Das Clustering-Ergebnis mit K-Mitteln wird durch PCA verkleinert und in einem Streudiagramm dargestellt.

Es war nicht wahrscheinlich, also schrieb ich einen Artikel. Angenommen, es gibt 6 Daten mit 4-dimensionalen Merkmalen.

sample.csv


1,2,3,4
1,2,3,5
1,2,4,5
4,3,2,1
5,3,2,1
5,4,2,1

Nach dem Clustering mit K-Mitteln wird die Dimension durch PCA reduziert und im Streudiagramm aufgetragen. Die K-means-Dokumentation ist hier, die PCA-Dokumentation ist [hier](http: // scikit-learn) .org / stabile / Module / generiert / sklearn.decomposition.PCA.html), Pyplot-Dokumentation hier.

sample.py


# -*- coding: UTF-8 -*-
import numpy as np
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

# sample.Laden Sie csv
users = np.loadtxt('./sample.csv', delimiter=",")

# K-Clustering mittels
model = KMeans(n_clusters=2).fit(users)

#Dimensionsreduzierung mit PCA
pca = PCA(n_components=2)
users_r = pca.fit_transform(users)

#Zeichnen Sie die Ergebnisse in ein Streudiagramm
plt.figure()
for (i, label) in enumerate(model.labels_):
    if label == 0:
        plt.scatter(users_r[i, 0], users_r[i, 1], c='red')
    elif label == 1:
        plt.scatter(users_r[i, 0], users_r[i, 1], c='blue')
plt.show()

Das folgende Streudiagramm wird erhalten. figure_1.png

Recommended Posts

[Python] Das Clustering-Ergebnis mit K-Mitteln wird durch PCA verkleinert und in einem Streudiagramm dargestellt.
Hinweise zur Farbfärbung im Matplotlib-Streudiagramm
Python a + = b und a = a + b sind unterschiedlich
Text Mining: Wahrscheinlichkeitsdichteverteilung auf Hypersphäre und Textclustering mit KMeans
Module und Pakete in Python sind "Namespaces"
Ein Memo mit Python2.7 und Python3 in CentOS
Erstellen Sie in Python ein elliptisches Streudiagramm, ohne eine multivariate Normalverteilung zu verwenden
Zeichnen Sie ein Faltlinien- / Streudiagramm mit Python Matplotlib für die CSV-Datei (2 Spalten).
[Python] Zeichnen Sie Daten nach Präfektur auf einer Karte (Anzahl der Autos im ganzen Land)