LED 숫자 데이터셋 살펴보기
다음 연습 문제에서는 NMF를 사용해 그레이스케일 이미지를 자주 나타나는 패턴으로 분해해 볼 거예요. 먼저 이미지 데이터셋을 탐색하고, 배열로 어떻게 인코딩되어 있는지 확인해 보세요. 2차원 배열 samples에 100장의 이미지가 주어지며, 각 행은 하나의 13x8 이미지를 나타냅니다. 이 데이터셋의 이미지는 LED 디지털 디스플레이를 촬영한 사진이에요.
이 연습은 강의의 일부입니다
Python으로 배우는 Unsupervised Learning
연습 안내
matplotlib.pyplot을plt로 임포트하세요.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()