1. Învăţa
  2. /
  3. Courses
  4. /
  5. Python으로 배우는 Unsupervised Learning

Connected

exercise

NMF로 이미지의 부분을 학습하기

이제 NMF에 대해 배운 내용을 활용해 digits 데이터셋을 분해해 보세요. 숫자 이미지는 다시 2차원 배열 samples로 제공됩니다. 이번에는 1차원 배열로 인코딩된 이미지를 표시해 주는 show_as_image() 함수도 함께 제공됩니다:

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

완료한 뒤에는 플롯을 살펴보면서, NMF가 숫자를 여러 성분의 합으로 어떻게 표현하는지 확인해 보세요!

Instrucţiuni

100 XP
  • sklearn.decomposition에서 NMF를 가져오세요.
  • 성분을 7개로 하는 NMF 인스턴스를 model이라는 이름으로 만드세요. (7은 LED 디스플레이의 셀 개수입니다.)
  • model의 .fit_transform() 메서드를 samples에 적용하세요. 결과를 features에 할당하세요.
  • 모델의 각 성분(model.components_로 접근)에 대해, 루프 안에서 해당 성분에 show_as_image() 함수를 적용하세요.
  • features의 0번째 행을 digit_features에 할당하세요.
  • digit_features를 출력하세요.