1. 学ぶ
  2. /
  3. コース
  4. /
  5. Unsupervised Learning bằng Python

Connected

演習

NMF học ra các phần cấu thành của ảnh

Bây giờ hãy vận dụng những gì bạn đã học về NMF để phân rã bộ dữ liệu chữ số (digits). Bạn tiếp tục được cung cấp các ảnh chữ số dưới dạng mảng 2D samples. Lần này, bạn còn được cung cấp một hàm show_as_image() để hiển thị ảnh được mã hóa bởi bất kỳ mảng 1D nào:

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

Sau khi hoàn thành, hãy dành chút thời gian xem các biểu đồ và để ý cách NMF biểu diễn chữ số như là tổng của các thành phần!

指示

100 XP
  • Import NMF từ sklearn.decomposition.
  • Tạo một đối tượng NMF tên là model với 7 thành phần. (7 là số ô trên màn hình hiển thị LED).
  • Áp dụng phương thức .fit_transform() của model lên samples. Gán kết quả cho features.
  • Với mỗi thành phần của mô hình (truy cập qua model.components_), gọi hàm show_as_image() cho thành phần đó bên trong vòng lặp.
  • Gán hàng 0 của features cho digit_features.
  • In digit_features.