La PCA n'apprend pas des parties
Contrairement à la NMF, la PCA n'apprend pas les parties des objets. Ses composantes ne correspondent pas à des sujets (dans le cas de documents) ni à des parties d'images lorsqu'elle est entraînée sur des images. Vérifiez-le vous-même en inspectant les composantes d'un modèle de PCA ajusté au jeu de données d'images de chiffres à DEL de l'exercice précédent. Les images sont disponibles sous forme de tableau 2D samples. Une version modifiée de la fonction show_as_image() est aussi fournie ; elle colore un pixel en rouge si la valeur est négative.
Après avoir Soumettre la réponse, remarquez que les composantes de la PCA ne représentent pas des parties significatives des images de chiffres à DEL !
Cette activité fait partie du cours
Unsupervised Learning in Python
Instructions de l’exercice
- Importez
PCAdepuissklearn.decomposition. - Créez une instance
PCAappeléemodelavec7composantes. - Appliquez la méthode
.fit_transform()demodelàsamples. Assignez le résultat àfeatures. - Pour chaque composante du modèle (accessible via
model.components_), appliquez la fonctionshow_as_image()à cette composante à l'intérieur de la boucle.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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 ____:
____