Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Import matplotlib.pyplot dưới bí danh plt.
  • Chọn hàng 0 của samples và gán kết quả cho digit. Ví dụ, để chọn cột 2 của một mảng a, bạn có thể dùng a[:,2]. Lưu ý vì samples là một mảng NumPy, bạn không thể dùng các accessor .loc[] hoặc iloc[] để 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ủa digit để nhận được mảng 2 chiều có shape (13, 8). Gán kết quả cho bitmap.
  • In bitmap và 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ị bitmap như 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()
Chỉnh sửa và Chạy Mã