ÎncepețiÎncepe gratuit

NMF învață părțile componente ale imaginilor

Acum aplică ce ai învățat despre NMF pentru a descompune setul de date cu cifre. Imaginile cifrelor îți sunt din nou oferite sub forma unui array 2D numit samples. De data aceasta, ai la dispoziție și o funcție show_as_image() care afișează imaginea codificată de orice 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()

După ce termini, aruncă o privire asupra graficelor și observă cum NMF a exprimat cifra ca sumă a componentelor!

Acest exercițiu face parte din cursul

Învățare nesupervizată în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă NMF din sklearn.decomposition.
  • Creează o instanță NMF numită model cu 7 componente. (7 este numărul de segmente ale unui afișaj LED).
  • Aplică metoda .fit_transform() a lui model asupra lui samples. Atribuie rezultatul variabilei features.
  • Pentru fiecare componentă a modelului (accesată prin model.components_), apelează funcția show_as_image() pe acea componentă în interiorul buclei.
  • Atribuie rândul 0 din features variabilei digit_features.
  • Afișează digit_features.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul