바로 이렇게 이미지는 다시 숫자의 집합으로 바뀌어 학습셋으로 사용됩니다. 우리가 앞서 배운 여러 예제와 마찬가지로 속성을 담은 데이터를 딥러닝에 집어넣고 클래스를 예측하는 문제로 전환시키는 것이지요. 28×28 = 784개의 속성을 이용해 0~9의 클래스 열 개 중 하나를 맞히는 문제가 됩니다.
이제 주어진 가로 28, 세로 28의 2차원 배열을 784개의 1차원 배열로 바꾸어 주어야 합니다. 이를 위해 reshape() 함수를 사용합니다.
reshape(총 샘플 수, 1차원 속성의 개수) 형식으로 지정합니다. 총 샘플 수는 앞서 사용한 X_train.shape[0]을 이용하고, 1차원 속성의 개수는 이미 살펴본 대로 784개입니다.
0], 784)= .reshape( .shape[
케라스는 데이터를 0에서 1 사이의 값으로 변환한 후 구동할 때 최적의 성능을 보입니다. 따라서 현재 0~255 사이의 값으로 이루어진 값을 0~1 사이의 값으로 바꾸어야 합니다. 바꾸는 방법은 각 값을 255로 나누는 것입니다. 이렇게 데이터의 폭이 클 때 적절한 값으로 분산의 정도를 바꾸는 과정을 데이터 정규화(normalization)라고 합니다.
현재 주어진 데이터 값은 0부터 255까지의 정수로, 정규화를 위해 255로 나누어 주려면 먼저 이 값을 실수형으로 바꾸어야 합니다. 따라서 다음과 같이 astype() 함수를 이용해 실수형으로 바꾼 후 255로 나눕니다.
'float64') = / 255= .astype(