Les composantes comme motifs
Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 30 sur 51.
Qu’est-ce que PCA a examiné ? Chaque composante contient 64 poids, un par pixel, et components_ contient une ligne par composante :
pca = PCA(n_components=4).fit(X)
print(pca.components_.shape)Cela affiche (4, 64). Remodelez une ligne en 8 par 8 et elle devient une image. cmap="gray_r" signifie niveaux de gris inversés : les poids élevés sont foncés, les négatifs sont clairs :
ax.imshow(pca.components_[0].reshape(8, 8), cmap="gray_r")La composante 1 est sombre là où les 4 et les 6 ont de l’encre, ils se retrouvent donc à droite de la carte. Un scan obtient un score élevé lorsque son encre tombe sur des pixels sombres.
Défi
MoyenUn professeur de calligraphie veut voir les différentes façons dont les gens écrivent un chiffre. Le programme lit le chiffre, et le code de départ conserve ses scans dans X.
- Ajustez une PCA avec 3 composantes sur
X. - Dessinez la composante
isuraxs[i]sous forme d’image de 8 par 8 aveccmap="gray_r", intituléeComponent 1àComponent 3. - Affichez le graphique.
Pour les 2, le programme dessine ceci. Coddy décrit ensuite vos panneaux :
Essayez vous-même
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# Chaque image numérisée d'un chiffre, lue depuis l'entrée : 64 pixels par ligne
d = int(input())
digits = load_digits()
X = digits.data[digits.target == d]
# Ne modifiez pas la ligne ci-dessous
fig, axs = plt.subplots(1, 3)
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Apprentissage non supervisé
1Découvrir des groupes
Apprendre sans étiquettesMesurer la similaritéK-Means à la mainK-Means avec scikit-learnRécapitulatif : les membres de la salle de sport4Classification hiérarchique
Fusion étape par étapeModèles agglomératifsDendrogrammesRécapitulatif : races de chiens7L’ACP en pratique
Visualiser 64 dimensionsLes composantes comme motifsCompresser et reconstruireL’ACP avant un modèleRécapitulatif : scanner de visages10Projet : Explorateur de chiffres
Observer les chiffresRéduire avec la PCARegrouper les chiffresNommer les groupesRepérer les intrus2Choisir k
InertieLa méthode du coudeScores de silhouetteMettre à l’échelle avant le clusteringRécapitulatif : zones de livraisonEntraînez-vous par vous-même : Compilateur Python en ligne