현재까지 제가 느끼기에 딥러닝에 있어서 전처리 작업이 전부라고 느껴질 정도 입니다.
똑똑하신 분들이 만들어 놓은 모델을 가져다 쓰기 위해선
그 모델에서 잘 작동하게끔 데이터를 요리해놔야 하기 때문입니다.

벡터화_Vectorization
저희가 사용하는 데이터들은 대다수가 이미지이거나 자연어, 즉 한글이나 영어입니다.
하지만 neural network모델은 이미지나 글자 그대로를 받아들이지 못하기 떄문에
모델 입맛에 맞게끔 데이터의 형태를 바꿔야 합니다. 바로 숫자로 말이죠.
신경망에서 모든 입력과 타깃은 부동 소수 데이터로 이루어진 텐서여야 하고
바꾸는 과정을 데이터 벡터화라고 합니다.
값 정규화_Normalization
벡터화를 시킨 데이터의 값들이 만약 균일하지 않은 범위의 수라면 그 수를 균일화를 시켜줄 필요가 있습니다.
이를 스케일이라고도 합니다.
어느 특성은 0~1값이고 어느 특성은 100이상의 값이라면 Gradient Descent를 방해합니다.
따라서 보통 아래의 규칙을 따릅니다.
아래의 방법은 필수는 아니지만 자주 쓰입니다
누락된 값 다루기
일부 데이터에 누락된 값이 있다면 그 부분을 0으로 채워줘도 무방합니다.
다만 0에 의미가 없다는 전제하에 말이죵.
전에 CT사진을 통해 어떤 암인지 분류하는 모델을 만들어 봤습니다.
데이터가 충분치 않아서 예측률은 굉장히 떨어졌지만 전처리 작업을 해보는 것에 의의를 두었습니다.
우선 Label은 대세포암, 선암, 편평상피암, 정상 이렇게 총 네개입니다.
trainset을 학습을 시키고 test set을 주엇을때 암의 종류를 잘 구분하는지 확인을 했습니다.
각각의 사진은 크기가 다 다르기에 사이즈를 균일화 해주어야 했고
스케일도 해야했습니다.
