1. 데이터 준비
1) 벡터화
- 신경망에서 모든 입력과 타깃은 일반적으로 부동 소수점 데이터로 이루어진 텐서여야 한다.
- 사운드, 이미지, 텍스트 등 모두가 텐서로 변환된다.
2) 값 정규화
- 범위가 균일하지 않은 데이터들을 신경망에 주입하지 않기 위해 정규화를 한다.
- 일반적으로 값이 0~1 사이가 되도록 하고, 모든 특성이 대체로 비슷한 범위를 가지도록 한다.
- 엄격한 정규화를 한다면, 각 특성별로 평균이 0, 표준편차가 1이 되도록 정규화한다. 넘파이에서는 다음과 같이 정규화한다.
<aside>
🖥️ x -= x.mean(axis=0)
x /= x.std(axis=0)
</aside>
3) 누락된 값 처리하기
- 범주형 특성이라면 ‘누락된 값’이라는 의미의 새로운 범주를 만드는 것이 안전하다.
- 수치형 특성이라면 해당 특성의 평균이나 중간 값으로 대체하는 것을 고려한다. ‘0’과 같은 임의의 값을 넣지 않도록 한다.
2. 평가 방법 선택
1) 홀드아웃 검증
- 데이터의 일정량을 테스트 세트로 떼어 놓는다.
- 남은 데이터에서 훈련하고 테스트 세트로 평가한다.
2) K-fold 교차 검증
- 홀드아웃 검증을 사용하기레 샘플 개수가 너무 적을 때 좋은 선택