[PYTHON] Clustering et analyse en composantes principales par méthode K-means (débutant)

introduction

Cet article décrit la méthode K-means (clustering de données) et l'analyse des composants principaux qui peuvent être utilisées efficacement lors de l'analyse de données à l'aide des pandas de python. Afin de comprendre le clustering, il est bon de connaître à l'avance la moyenne, l'écart, la normalisation, etc. Ce serait bien si vous aviez les connaissances jusqu'au deuxième chapitre du livre, "Vous pouvez apprendre des statistiques pendant 4 ans à l'université en 10 heures." J'ai importé des pandas avec le nom pd à l'avance.

Quelle est la méthode K-means?

Algorithme de classification en k clusters

Qu'est-ce que l'analyse en composantes principales?

Technique pour réduire le nombre de dimensions (Comme il est difficile de sortir des données contenant 3 variables ou plus sur un plan, la réduction du nombre de dimensions permet de tracer sur un plan d'une manière facile à comprendre.)

Importation de la bibliothèque utilisée par K-means depuis Scikit-learn

from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler

Importation de bibliothèques utilisées pour l'analyse des composants principaux à partir de Scikit-learn

from sklearn.decomposition import PCA

Standardisation des données

Effectuer la standardisation à l'aide de fit_transform à partir de la bibliothèque chargée

Hypothèse: lire / éditer les données à analyser avec des pandas, etc. à l'avance, créer avec les variables suivantes (Les données suivantes stockent des données numériques telles que moyenne, médiane, max, min) Nom de la variable de données: an_data

sc = StandardScaler()
clustering_sc = sc.fit_transform(an_data)

Clustering avec K-means

Si vous définissez une valeur sur random_state, qui est une option de KMeans, vous pouvez obtenir le même résultat en spécifiant l'option avec la même valeur à partir de la prochaine fois. (La valeur par défaut est random_state = None, qui est traitée avec un nombre aléatoire différent à chaque fois)

kmeans = KMeans(n_cluster=<Nombre de clusters>, random_state=0)
clusters = kmeans.fit(clustering_sc)

Sortie des résultats du clustering dans une table

an_data["result_clustering"] = clusters.labels_
an_data.head()

Analyse des composants principaux

hoge = clustering_sc
pca = PCA(n_components=2)  #Spécifiez 2 pour le nombre de cotes à sortir dans un plan bidimensionnel
pca.fit(hoge)
hoge_pca = pca.transform(hoge)
pca_data = pd.DataFrame(hoge_pca)

Sortie graphique

Préparation de l'affichage graphique

import matplotlib as plt
%matplotlib inline         #Pour l'affichage graphique avec jupyter

Puisqu'il a été groupé, essayez de le générer sous forme de diagramme de dispersion pour chaque étiquette de cluster.

for i in an_data["result_clustering"].unique():
    tmp = pca_data.loc[pca_data["result_clustering"] == i]
    plt.scatter(tmp[0], tmp[1], label=i)
plt.legend()

Recommended Posts

Clustering et analyse en composantes principales par méthode K-means (débutant)
Compression dimensionnelle par auto-encodeur et analyse des composants principaux
[En gros] Clustering par K Means
Analyse en composantes principales (Analyse en composantes principales: ACP)
[Python] Comparaison de la théorie de l'analyse des composants principaux et de l'implémentation par Python (PCA, Kernel PCA, 2DPCA)
Analyse en composants principaux (PCA) et analyse en composants indépendants (ICA) avec python
Classer les données par la méthode k-means
Apprendre sans enseignant 3 Analyse des principales composantes
Visualisez la matrice de corrélation par l'analyse des composants principaux avec Python
Reconnaissance faciale à l'aide de l'analyse des composants principaux
Analyse des composants principaux avec Spark ML
[GWAS] Tracez les résultats de l'analyse en composantes principales (ACP) par PLINK
AI explicable ~ Clustering k-moyennes et k-médianes explicables ~
Python: apprentissage non supervisé: analyse principale
Traitement du langage 100 knock-85 (SVD tronqué): Compression dimensionnelle par analyse en composantes principales
Analyse des composants principaux avec le corpus d'actualités Livedoor - Pratique--
Essayez l'analyse de cluster par K-means
<Cours> Machine learning Chapitre 4: Analyse des principaux composants
Analyse de régression simple par la méthode des moindres carrés
Analyse des données par regroupement à l'aide de la méthode k-means (python) ([High school information department information II] pédagogique pour la formation des enseignants)
Kmeans débutants
Commençons l'analyse multivariée et l'analyse des composants principaux avec Pokemon! Coopération entre R et Tableau
Compressez les vecteurs en 2 dimensions à l'aide de l'analyse des composants principaux et visualisez-les avec matplotlib.
Extraire la couleur dominante de l'image par clustering k-means
J'ai essayé d'analyser les principaux composants avec les données du Titanic!
PRML Chapitre 12 Mise en œuvre de l'analyse principale bayésienne Python