모든 데이터 분석의 시작은 전처리이다.
아무리 뛰어난 분석 알고리즘도, 지저분한(raw) 데이터를 제대로 다듬지 않으면 원하는 성과를 내기 어렵다.
이후에 진행할 이커머스 데이터 분석 프로젝트를 시작하기 전에, 다양한 전처리 방법들을 알아보자.
- 결측치 처리 (Missing Values)
결측치란 데이터셋에서 값이 누락되거나 기록되지 않은 경우로, NaN(Not-a-Number) 또는 null 로 표시된다.
현실의 데이터는 대부분 완벽하지 않다. 위에서 확인했듯이 고객 ID가 누락되거나 상품 설명이 빠진 경우처럼 데이터 수집 과정에서 결측치가 존재하는 경우가 많다.
🔧 해결 방법
결측치 처리 여부는 데이터의 중요도와 비율에 따라 달라져야 한다.
분석에 꼭 필요한 열인지 아닌지를 먼저 판단할 필요가 있다.
- 중복값 처리 (Duplicate Data)
중복값이란 완전히 동일한 행(레코드)이 데이터에 여러 번 들어가 있는 상태를 말한다.
중복된 데이터는 모델을 왜곡시키거나, 결과를 과장되게 만들 수 있는 위험 요소이므로, 이를 식별하고 제거하는 것은 데이터의 일관성과 정확성을 유지하기 위해 필수적인 단계이다.
경우에 따라서는 특정 조건이나 규칙에 따라 중복된 데이터를 유지할 필요가 있을 수도 있다. 따라서 중복이라고 무작정 제거하기보다는 데이터의 특성에 따라 중복이 의미를 가지는 경우인지 먼저 판단해야 한다는 것을 기억하자.
- 정규화 & 표준화 (Normalization & Standardization)
정규화와 표준화를 통해 데이터의 범위를 일정하게 조정하거나, 데이터의 스케일을 변경할 수 있다.
예를 들어 ‘판매량’은 수십 개지만 ‘판매금액’은 수천만 원일 수 있다. 이 경우, 판매금액이 분석에 더 큰 영향력을 가지게 된다.
또, 변수마다 단위(scale)가 다르면 분석 결과에 영향을 미치기 때문에 정규화 또는 표준화가 필요하다.
🔧 대표적인 방법
정답은 없다. 데이터의 분포와 모델의 특성에 따라 가장 적절한 방법을 선택하면 된다.
- 범주형 데이터 인코딩 (Categorical Encoding)
범주형 데이터란 성별, 지역, 등급 등 숫자 의미가 없는 데이터를 말한다.
참고로 아래는 데이터의 종류를 정리한 표이다.
| 구분 | 설명 | 예시 |
|---|---|---|
| 명목형 (Nominal) | 순서 없는 범주형 | 성별, 혈액형 |
| 순서형 (Ordinal) | 순서 있는 범주형 | 만족도, 학점 |
| 이산형 (Discrete) | 정수 값 수치형 | 방문 횟수, 사고 건수 |
| 연속형 (Continuous) | 실수 값 수치형 | 키, 몸무게, 온도 |
머신러닝 알고리즘은 범주형 데이터를 이해하지 못하므로, 숫자형으로 바꿔주는 인코딩 과정이 필요하다.
🔧 대표적인 방법
- 이상치 분석 및 처리 (Outliers)
이상치란데이터 집합에서 다른 관측치들과는 크게 다른 값을 가지는 관측치를 나타낸다. 예를 들어 연봉 10억(🫢), 키 2m 50cm(😮) 등을 생각해 볼 수 있다.
이상치는 데이터의 분석 및 모델링에 부정적인 영향을 미칠 수 있고,
오류, 측정 오류, 드문 사건 등으로 인해 발생하며 왜 생겼는지에 따라 처리 방법이 달라진다.
통계적인 방법이나 시각화 도구, 머신러닝 알고리즘 등을 활용해서 값이 극단적으로 크거나 작은 이상치들을 찾고, 필요에 따라 제거를 하거나 수정하여 사용한다.
이상치를 무조건 제거하는 것보다는 데이터의 특성에 따라 판단해야 한다. 어떤 경우에는 실제 중요한 신호일 수도 있기 때문이다.
데이터 전처리는 단순한 “준비 작업”이 아닌, 전체 분석 결과를 좌우하는 가장 중요한 과정이다.
데이터가 깨끗해야 분석도 정직해지기 때문에 주어진 데이터의 특성에 따라 최적의 전처리 방법을 설계해야 한다는 것을 기억하자.