Ce n'était pas probable, alors j'ai écrit un article. Supposons qu'il y ait 6 données avec des caractéristiques à 4 dimensions.
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
Après avoir regroupé cela par K-means, la dimension est réduite par PCA et tracée sur le diagramme de dispersion. La documentation de K-means est ici, la documentation de PCA est [ici](http: // scikit-learn) .org / stable / modules / generated / sklearn.decomposition.PCA.html), documentation pyplot ici.
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.Charger csv
users = np.loadtxt('./sample.csv', delimiter=",")
# K-Clustering au moyen
model = KMeans(n_clusters=2).fit(users)
#Réduction de dimension avec PCA
pca = PCA(n_components=2)
users_r = pca.fit_transform(users)
#Tracez les résultats sur un nuage de points
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()
Le diagramme de dispersion suivant est obtenu.
Recommended Posts