Khám phá bộ dữ liệu chữ số LED
Trong các bài tập sau, bạn sẽ dùng NMF để phân rã ảnh thang xám thành các mẫu thường xuất hiện. Trước hết, hãy khám phá bộ dữ liệu ảnh và xem cách nó được mã hóa thành một mảng. Bạn được cung cấp 100 ảnh dưới dạng mảng 2 chiều samples, trong đó mỗi hàng biểu diễn một ảnh 13x8. Các ảnh trong bộ dữ liệu là hình chụp màn hình hiển thị số dạng LED.
Bài tập này là một phần của khóa học
Unsupervised Learning bằng Python
Hướng dẫn bài tập
- Import
matplotlib.pyplotdưới bí danhplt. - Chọn hàng
0củasamplesvà gán kết quả chodigit. Ví dụ, để chọn cột2của một mảnga, bạn có thể dùnga[:,2]. Lưu ý vìsampleslà một mảng NumPy, bạn không thể dùng các accessor.loc[]hoặciloc[]để chọn hàng hay cột cụ thể. - In
digit. Phần này đã được làm sẵn cho bạn. Hãy để ý đây là mảng 1 chiều gồm các số 0 và 1. - Dùng phương thức
.reshape()củadigitđể nhận được mảng 2 chiều có shape(13, 8). Gán kết quả chobitmap. - In
bitmapvà nhận ra rằng các số 1 tạo thành chữ số 7! - Dùng hàm
plt.imshow()để hiển thịbitmapnhư một ảnh.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import pyplot
from matplotlib import pyplot as plt
# Select the 0th row: digit
digit = ____
# Print digit
print(digit)
# Reshape digit to a 13x8 array: bitmap
bitmap = ____
# Print bitmap
print(bitmap)
# Use plt.imshow to display bitmap
plt.____(____, cmap='gray', interpolation='nearest')
plt.colorbar()
plt.show()