과정
크롤링 또는 DB데이터를 통하여 데이터 수집
데이터를 분석하고 train에 사용할 형태로 전 처리
머신러닝 모델을 사용하여 데이터 학습
학습된 머신러닝 모델을 test데이터를 사용하여 평가
머신러닝의 입력 형태로 데이터 변환
대부분의 머신러닝 모델은 숫자 데이터를 입력 받기 때문에
결측값 및 이상치를 처리하여 데이터 정제
결측값, 이상치가 있을 경우 모델 입력이 불가능하거나 성능이 확연히 떨어짐
학습용 및 평가용 (train data, test data의 분리)
머신러닝의 입력으로 바로 사용할 수 있으나, 모델의 성능을 높이기 위해서 데이터 변환이 필요
방법
1. Scaling : 변수 값의 범위 및 크기를 변환하는 방식, 변수 간의 범위가 차이가 많이 나면 사용
정규화(Normalization) (0~1사이의 값으로)
표준화(Standardization)
결측값(Missing Data) 처리하기 ex) Null, None, NaN 등의 결측값
결측값이 존재하는 샘플 삭제 (= 행 삭제)
결측값이 많이 존재하는 변수(feature) 삭제 (= 열 삭제)
결측값을 다른 값으로 대체 (평균값, 중앙값, 머신러닝의 예측값으로 대체)
이상치(Outlier) 처리하기
이상치가 있으면, 모델의 성능을 저하시킬 수 있으므로 일반적으로 제거. 어떤 값이 이상치인지 판단하는 기준이 중요하다.
데이터 분리하기
머신러닝 모델을 평가하기 위해서는 학습에 사용하지 않은 평가용 데이터가 필요. 약 7:3~8:2(데이터가 많을 경우엔 9:1로까지)의 비율로 train data, test data를 분리한다.
+지도학습의 경우 feature 데이터와 label 데이터를 분리하여 저장