Le NMF apprend les composants des images
Veuillez maintenant appliquer 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 la forme d'un 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 le temps d'examiner les graphiques et observez comment la NMF a exprimé le chiffre comme une somme des composants.
Cet exercice fait partie du cours
Apprentissage non supervisé en Python
Instructions
- Importez
NMFdepuissklearn.decomposition. - Créez une instance
NMFappeléemodelavec7composants. (7 correspond au nombre de cellules d'un écran LED). - Appliquez la méthode
.fit_transform()demodelàsamples. Attribuez le résultat àfeatures. - À chaque composant du modèle (accessible via
model.components_), appliquez la fonctionshow_as_image()à ce composant à l'intérieur de la boucle. - Attribuez la ligne
0defeaturesàdigit_features. - Imprimez
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)