1. Nauka
  2. /
  3. Kursy
  4. /
  5. Uczenie nienadzorowane w Pythonie

Connected

ćwiczenie

NMF uczy się części obrazów

Wykorzystaj zdobytą wiedzę o NMF, aby rozłożyć zbiór danych z cyframi. Tak jak wcześniej, obrazy cyfr są dostępne w postaci tablicy 2D samples. Tym razem masz też do dyspozycji funkcję show_as_image(), która wyświetla obraz zakodowany w dowolnej tablicy 1D:

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

Po wykonaniu zadania przejrzyj wykresy i zwróć uwagę, jak NMF wyraża cyfrę jako sumę komponentów!

Instrukcje

100 XP
  • Zaimportuj NMF z sklearn.decomposition.
  • Utwórz instancję NMF o nazwie model z 7 komponentami (7 to liczba segmentów wyświetlacza LED).
  • Zastosuj metodę .fit_transform() modelu model do samples. Wynik przypisz do features.
  • Dla każdego komponentu modelu (dostępnego przez model.components_) wywołaj wewnątrz pętli funkcję show_as_image() z tym komponentem jako argumentem.
  • Przypisz wiersz 0 z features do digit_features.
  • Wyświetl digit_features.