ПочатиПочніть безкоштовно

NMF вчиться виділяти частини зображень

Тепер застосуйте те, що ви дізналися про NMF, щоб розкласти набір даних із цифрами. Знову ж таки, зображення цифр подано як 2D-масив samples. Цього разу вам також надано функцію show_as_image(), яка відображає зображення, закодоване будь-яким 1D-масивом:

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

Коли закінчите, перегляньте графіки й зверніть увагу, як NMF подає цифру як суму компонент!

Ця вправа є частиною курсу

Наглядове навчання в Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте NMF з sklearn.decomposition.
  • Створіть екземпляр NMF під назвою model із 7 компонентами. (7 — це кількість сегментів у LED-дисплеї).
  • Застосуйте метод .fit_transform() об'єкта model до samples. Присвойте результат змінній features.
  • До кожної компоненти моделі (доступ через model.components_) застосуйте функцію show_as_image() до цієї компоненти всередині циклу.
  • Присвойте рядок 0 з features до digit_features.
  • Виведіть digit_features.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)
Редагувати та запускати код