CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Importez NMF à partir de sklearn.decomposition.
  • Créez une instance d'NMF appelée model avec les composants 7. (7 correspond au nombre de cellules dans un écran LED).
  • .fit_transform() Veuillez appliquer la méthode de demande d'exemption de responsabilité de model à samples. Affectez le résultat à features.
  • Pour chaque composant du modèle (accessible via model.components_), appliquez la fonction show_as_image() à ce composant à l'intérieur de la boucle.
  • Veuillez attribuer l'0 de la ligne features à 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)
Modifier et exécuter le code