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 merupakan bagian dari kursus
Unsupervised Learning in Python
Instruksi latihan
- Impor
NMFdarisklearn.decomposition. - Buat instance
NMFbernamamodeldengan7komponen. (7 adalah jumlah sel pada tampilan LED). - Terapkan metode
.fit_transform()darimodelkesamples. Tetapkan hasilnya kefeatures. - Untuk setiap komponen dari model (diakses melalui
model.components_), terapkan fungsishow_as_image()pada komponen tersebut di dalam loop. - Tetapkan baris
0darifeatureskedigit_features. - Cetak
digit_features.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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)