IniziaInizia gratis

NMF impara le parti delle immagini

Ora metti in pratica ciò che hai imparato su NMF per scomporre il dataset delle cifre. Ti vengono fornite di nuovo le immagini delle cifre come array 2D samples. Questa volta hai anche a disposizione una funzione show_as_image() che visualizza l'immagine codificata da qualsiasi array 1D:

def show_as_image(sample):
    bitmap = sample.reshape((13, 8))
    plt.figure()
    plt.imshow(bitmap, cmap='gray', interpolation='nearest')
    plt.colorbar()
    plt.show()

Quando hai finito, prenditi un momento per guardare i grafici e nota come NMF ha rappresentato la cifra come somma dei componenti!

Questo esercizio fa parte del corso

Apprendimento non supervisionato in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Importa NMF da sklearn.decomposition.
  • Crea un'istanza di NMF chiamata model con 7 componenti. (7 è il numero di celle in un display a LED).
  • Applica il metodo .fit_transform() di model a samples. Assegna il risultato a features.
  • Per ciascun componente del modello (accessibile tramite model.components_), applica la funzione show_as_image() a quel componente all'interno del ciclo.
  • Assegna la riga 0 di features a digit_features.
  • Stampa digit_features.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice