
명목형 처리(더미변수/카테고리화)
더미변수는 변수의 값이 최소 2개를 초과할 경우 수행. 아니면 단순 category 타입으로 변경.범주형(명목형) 데이터(카테고리가 1~3등급)를 각 카테고리별로 나누어 표현 - 명목형은 계산할 수 있는 값이 아니기 때문
명목형 변수 : 변수의 값이 고유한 순위가 없는 범주를 나타내는 경우 해당 변수
ex) 태아의 성별, 위암 등급, 승무원의 등급
명목형 확인을 위해서는 데이터의 종류가 몇 가지인지 확인.
즉, 명목형으로 의심되면 일단 value_counts()로 확인.
type, shape, info 등을 사용해 객체 형태 및 정보를 확인 가능.
sigmoid는 이항분류, softmax는 다항분류(one-hot-encoding-즉, 더미변수화)
종속변수 카테고리의 기준
탐색적 데이터 분석에서 사용하기 위해 카테고리화를 진행 - (단, 통계에서는 카테고리 형식으로 데이터를 분석하지 않고 int 형식으로 사용)
정석대로라면 카테고리로 변경하지 않음.
단, 탐색적 데이터 분석을 한다면 명목형 변수를 제거해야 하는데 명목형을 카테고리로 변경하면 자동으로 제거해주기 때문에 카테고리 형식으로 변환 후 진행.
category 대신 더미변수로 변경하면 int로 돌아오므로 더미변수화를 추천.
(Conv2D 적용 [-> BatchNormalization층 적용] -> MaxPool2D 적용 [-> Dropout])의 과정을 n번 반복 -> Flatten 레이어 추가 -> Dense층 n개 추가
Conv2D 층
filters: 필터(커널)의 개수kernel_size: 필터의 크기strides: 필터의 이동 간격padding: valid(패딩 없음), same(인풋과 아웃풋이 같도록 패딩)activation: 활성화 함수input_shape: 첫 레이어에 인풋으로 들어오는 크기BatchNormalization (배치정규화)
MaxPool2D
- 컨볼루션 레이어의 출력 이미지에서 주요값만 뽑아 크기가 작은 출력 영상을 만든다.
- pool_size: 축소시킬 필터의 크기(비율)
- strides: 필터의 이동 간격. 기본값으로 pool_size를 갖는다.
- 일반적으로 strides는 pool_size와 동일하게 적용되므로 생략하는 편.
filter가 클수록, kernel_size가 작을 수록 모델이 성능이 개선됨.
단, 학습 시간도 오래 걸림.
activation : 다중분류 softmax, unit 10 / 이진 : sigmoid, unit 1/0
loss : 다중분류, categorical_crossentropy, 이진, binary_crossentropy
activation : 다중분류 softmax, unit 10 / 이진 : sigmoid, unit 1/0
loss : 다중분류, categorical_crossentropy, 이진, binary_crossentropy
평가지표에서 성능 향상이 일어나지 않으면 학습률을 조정하는 콜백평가지표에서 성능 향상이 일어나지 않으면 학습률을 조정하는 콜백