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
Petunjuk 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 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)