Le NMF apprend les différentes parties des images.
Maintenant, utilisez ce que vous avez appris sur la NMF pour décomposer l'ensemble de données des chiffres. Les images des chiffres vous sont à nouveau fournies sous forme de tableau 2D : samples
. Cette fois-ci, vous disposez également d'une fonction show_as_image()
qui affiche l'image encodée par n'importe quel tableau 1D :
def show_as_image(sample):
bitmap = sample.reshape((13, 8))
plt.figure()
plt.imshow(bitmap, cmap='gray', interpolation='nearest')
plt.colorbar()
plt.show()
Une fois que vous avez terminé, prenez un moment pour examiner les graphiques et remarquez comment NMF a exprimé le chiffre comme une somme des composants.
Cet exercice fait partie du cours
Apprentissage non supervisé en Python
Instructions
- Importez
NMF
à partir desklearn.decomposition
. - Créez une instance d'
NMF
appeléemodel
avec les composants7
. (7 correspond au nombre de cellules dans un écran LED). .fit_transform()
Veuillez appliquer la méthode de demande d'exemption de responsabilité demodel
àsamples
. Affectez le résultat àfeatures
.- Pour chaque composant du modèle (accessible via
model.components_
), appliquez la fonctionshow_as_image()
à ce composant à l'intérieur de la boucle. - Veuillez attribuer l'
0
de la lignefeatures
àdigit_features
. - Affichez
digit_features
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Import NMF
____
# Create an NMF model: model
model = ____
# Apply fit_transform to samples: features
features = ____
# Call show_as_image on each component
for component in model.components_:
____
# Select the 0th row of features: digit_features
digit_features = ____
# Print digit_features
print(digit_features)