데이터 전처리(Data Preprocessing)는 데이터 분석 및 머신러닝 모델을 학습시키기 전에 원시 데이터를 처리하고 정제하는 과정입니다. 이 과정은 분석의 정확도와 모델의 성능에 직접적인 영향을 미치기 때문에 매우 중요합니다. 데이터 전처리에는 여러 단계가 포함될 수 있으며, 주로 다음과 같은 작업들을 포함합니다
결측치 처리(Missing Data Imputation): 데이터에 결측치가 있을 경우, 이를 처리해야 합니다. 결측치를 처리하는 방법에는 여러 가지가 있는데, 대표적으로 결측치를 해당 칼럼의 평균이나 중앙값으로 대체하는 방법입니다. 결측치도 많고 타깃컬럼과 상관관계를 확인할 방법이 없다면 해당 컬럼을 삭제하거나 결측치 자체가 타깃컬럼과 유의미한 상관관계가 있다면 하나의 값으로 대체해 분석할 수 있습니다.
이상치 탐지 및 처리(Outlier Detection and Handling): 데이터에 포함된 이상치를 탐지하고 이를 처리하는 과정입니다. 이상치는 데이터 분석 결과를 왜곡시킬 수 있으므로, 탐지 후 제거하거나 수정해야 할 수 있습니다. 회귀모델이 좋은 성능을 내려면 타깃변수는 정규분포를 따르는 게 좋을 수 있어 로그변환, 제곱근 변환 등을 할 수 있습니다. 입력변수는 정규분포를 따르지 않아도 되지만 분포가 심하게 치우치거나 이상치가 많은 경우 로그변환, 제곱근 변환, 이상치 제거 등을 고려할 수 있습니다.
데이터 정규화 및 표준화(Normalization and Standardization): 서로 다른 범위를 가진 데이터를 일정한 범위로 조정해줌으로써 모델이 데이터를 더 잘 이해할 수 있도록 합니다. 정규화는 데이터의 범위를 0과 1 사이로 조정하는 반면, 표준화는 데이터가 평균 0, 분산 1을 가지도록 변환합니다.
범주형 데이터 처리(Categorical Data Encoding): 범주형 데이터(예: 성별, 국가 등)는 대부분의 머신러닝 알고리즘에서 직접적으로 사용될 수 없으므로, 숫자형 데이터로 변환해야 합니다. 이를 위해 범주형 값들 사이에 순서가 없는 범주형 데이터의 경우 원-핫 인코딩(One-Hot Encoding), 순서가 있는 경우 오디널 인코딩(Ordinal Encoding) 등의 방법이 사용됩니다.
이러한 데이터 전처리 작업은 데이터의 특성과 분석 목표에 따라 달라질 수 있습니다. 효과적인 데이터 전처리는 데이터의 질을 향상시키고, 결과적으로 분석이나 모델의 정확도를 높이는 데 도움이 됩니다.