MulaiMulai sekarang secara gratis

NMF mempelajari bagian-bagian dari citra

Sekarang gunakan apa yang telah Anda pelajari tentang NMF untuk menguraikan himpunan data digits. Anda kembali diberikan citra digit sebagai array 2D samples. Kali ini, Anda juga disediakan fungsi show_as_image() yang menampilkan citra yang dikodekan oleh array 1D apa pun:

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

Setelah selesai, luangkan waktu untuk meninjau plot dan perhatikan bagaimana NMF merepresentasikan digit sebagai penjumlahan dari komponen-komponennya!

Latihan ini adalah bagian dari kursus

Unsupervised Learning in Python

Lihat Kursus

Petunjuk latihan

  • Impor NMF dari sklearn.decomposition.
  • Buat instance NMF bernama model dengan 7 komponen. (7 adalah jumlah sel pada tampilan LED).
  • Terapkan metode .fit_transform() dari model ke samples. Tetapkan hasilnya ke features.
  • Untuk setiap komponen dari model (diakses melalui model.components_), terapkan fungsi show_as_image() pada komponen tersebut di dalam loop.
  • Tetapkan baris 0 dari features ke digit_features.
  • Cetak digit_features.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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)
Edit dan Jalankan Kode