Začněte nyníZačněte zdarma

NMF se učí části obrázků

Teď využij, co sis o NMF osvojil/a, a rozlož datovou sadu číslic. Obrázky číslic máš opět k dispozici jako 2D pole samples. Tentokrát je k nim přidána i funkce show_as_image(), která zobrazí obrázek zakódovaný libovolným 1D polem:

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

Až budeš hotov/a, prohlédni si výsledné grafy a všimni si, jak NMF vyjádřila číslici jako součet jednotlivých komponent!

Toto cvičení je součástí kurzu

Unsupervised Learning in Python

Zobrazit kurz

Pokyny k cvičení

  • Importuj NMF z sklearn.decomposition.
  • Vytvoř instanci NMF s názvem model a 7 komponentami (7 odpovídá počtu segmentů na LED displeji).
  • Aplikuj metodu .fit_transform() modelu model na samples a výsledek přiřaď do proměnné features.
  • Pro každou komponentu modelu (přístupnou přes model.components_) zavolej uvnitř cyklu funkci show_as_image() s danou komponentou jako argumentem.
  • Přiřaď řádek 0 z features do proměnné digit_features.
  • Vypiš digit_features.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód