이런 형태의 이미지를 gray scale image라고 한다
흔히 말하는 흑백 이미지라고 생각하면 되겠다
자세히는 흑과 백 사이의 색들이 조합된 이미지
즉 회색으로 표현한것이라 그레이 스케일 이미지인 것
from tensorflow.keras.datasets import fashion_mnist
우선 위의 이미지 파일을 쓰기위해
텐서플로우의 케라스 데이터셋의 모듈을 이용해 패션 엠니스트를 임포트해주고
(X_train, y_train), (X_test, y_test) = fashion_mnist.load_data()
로드데이터로 데이터를 불러옴과 동시에
(X_train, y_train), (X_test, y_test) 로 저장해준다
이전 머신러닝할때의 트레인 테스트 스플릿과는 살짝 다른데
이 함수를 만든 곳에서는 이렇게 만들었기때문에 살짝 다른 것
X_train.shape
(60000, 28, 28)
이 이미지 파일들의 shape을 살펴보면 기존 것과는 다른 3차원 배열인데
기존 ( 행 , 열 ) 이었던 것에서
( 행 , 열 , 레이어(파일갯수) )
라고 생각하기 쉽겠지만 그렇지 않고
( 레이어(파일갯수) , 행 , 열 )이 정답이다
그래서 이 shape의 형태는
28행 28열을 갖고 있는 6만개의 데이터
혹은
6만개의 데이터가 있는데 이 데이터들은
28행 28열을 갖고 있다~
라고 해석하면 되겠다
그래서 첫번째 파일인 0번을 찾아보면
X_train[ 0 , : , : ]
이미지 파일로는 이렇게 표현 된다는것을 알려주며
SHOW DATA를 눌렀을시 숫자로 표현되는것을 보여준다
y_train.shape
(60000,)
그렇다면 y값 또한 3차원 일까?
정답은 1차원이다
별 다른 정답'들' 을 가지고 있는것이 아니라
하나의 파일에 하나의 답을 가지고 있기에 1차원이 맞다
피쳐스케일링
딥러닝을 위해 정규화 스케일링을 하려한다
하지만
MinMax 스케일링을 할때에는
MinMax값을 컴퓨터가 알고 있고 사람은 모르고 있기에
스케일러를 임포트해주고 해줘! 라고 입력하지만
우리는 이 값의 MinMax를 알고 있다
0부터 255라는 사실을
그래서 굳이 스케일러를 사용 하지않고
255로 나눠주면 되겠다
X_train[ 0 , : , : ] / 255.0
X_train = X_train / 255
X_test = X_test / 255
학습용 데이터와 테스트용 데이터 모두 피쳐스케일링 해주자
'Python > DeepLearning' 카테고리의 다른 글
딥러닝 - 이미지분류 3) Confusion Matrix, Acrruracy (0) | 2024.04.18 |
---|---|
딥러닝 - 이미지 분류 2) 모델 생성 및 확인 (0) | 2024.04.18 |
딥러닝 - 조건 성립 정지법 callbacks.EarlyStopping (0) | 2024.04.17 |
딥러닝 - GridSearch 그리드서치 (베스트 모델 찾기) (0) | 2024.04.17 |
딥러닝 - New 데이터의 예측법 (1) | 2024.04.17 |