CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Importez NMF depuis sklearn.decomposition.
  • Créez une instance NMF appelée model avec 7 composants. (7 correspond au nombre de cellules d'un écran LED).
  • 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.
  • Attribuez la ligne 0 de features à 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)
Modifier et exécuter le code