시작하기무료로 시작하기

LED 숫자 데이터셋 살펴보기

다음 연습 문제에서는 NMF를 사용해 그레이스케일 이미지를 자주 나타나는 패턴으로 분해해 볼 거예요. 먼저 이미지 데이터셋을 탐색하고, 배열로 어떻게 인코딩되어 있는지 확인해 보세요. 2차원 배열 samples에 100장의 이미지가 주어지며, 각 행은 하나의 13x8 이미지를 나타냅니다. 이 데이터셋의 이미지는 LED 디지털 디스플레이를 촬영한 사진이에요.

이 연습은 강의의 일부입니다

Python으로 배우는 Unsupervised Learning

강의 보기

연습 안내

  • matplotlib.pyplotplt로 임포트하세요.
  • samples의 0번 행을 선택해 digit에 할당하세요. 예를 들어 배열 a의 2번 열을 선택하려면 a[:,2]를 사용할 수 있어요. samples는 NumPy 배열이므로 특정 행이나 열을 선택할 때 .loc[]iloc[] 접근자를 사용할 수 없다는 점을 기억하세요.
  • digit을 출력하세요. 이 부분은 이미 완료되어 있어요. 0과 1로 이루어진 1차원 배열임을 확인해 보세요.
  • digit.reshape() 메서드를 사용해 모양이 (13, 8)인 2차원 배열을 얻으세요. 결과를 bitmap에 할당하세요.
  • bitmap을 출력하고, 1로 표시된 부분이 숫자 7을 나타내는지 확인해 보세요!
  • plt.imshow() 함수를 사용해 bitmap을 이미지로 표시하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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()
코드 편집 및 실행