CommencerCommencer gratuitement

La PCA n'apprend pas les parties

Contrairement à la NMF, la PCA n'apprend pas les parties des choses. Ses composants ne correspondent pas à des sujets (dans le cas de documents) ou à des parties d'images, lorsqu'elle est entraînée sur des images. Vérifiez cela par vous-même en inspectant les composants d'un modèle PCA adapté à l'ensemble de données d'images de chiffres LED de l'exercice précédent. Les images sont disponibles sous forme de tableau 2D « samples ». Une version modifiée de la fonction « showasimage() » est également disponible. Elle colore un pixel en rouge si la valeur est négative.

Après avoir soumis la réponse, notez que les composants de la PCA ne représentent pas des parties significatives des images de chiffres LED.

Cet exercice fait partie du cours

Apprentissage non supervisé en Python

Afficher le cours

Instructions

  • Importez PCA depuis sklearn.decomposition.
  • Créez une instance PCA appelée model avec 7 composants.
  • Appliquez la méthode .fit_transform() de model à samples. Attribuez le résultat à features.
  • À chaque composant du modèle (accessible via model.components_), appliquez la fonction show_as_image() à ce composant à l'intérieur de la boucle.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Import PCA
____

# Create a PCA instance: model
model = ____

# Apply fit_transform to samples: features
features = ____

# Call show_as_image on each component
for component in ____:
    ____
    
Modifier et exécuter le code