2단원: 데이터 전처리의 기술

훌륭한 요리사가 신선한 재료를 손질하듯, 최고의 머신러닝 모델을 만들기 위해서는
데이터를 꼼꼼하게 손질하는 '전처리' 과정이 필수적입니다.

⚙️ 최고의 요리를 위한 재료 손질 (전처리 파이프라인)

최고의 모델을 만들기 위한 데이터 전처리 과정은 다음과 같은 체계적인 단계를 거칩니다. 각 단계는 다음 단계의 성공을 위한 발판이 됩니다.

1

기초 정보 확인

.info(), .describe()로 데이터의 구조, 결측치, 통계량을 파악합니다.

2

이상치 및 오류 데이터 처리

.drop() 등으로 분석을 방해하는 오염된 데이터를 제거하여 무결성을 확보합니다.

3

결측치 처리 (비어있는 값 채우기)

.fillna(), .dropna()로 빈칸을 채우거나 제거하여 컴퓨터가 계산할 수 있도록 합니다.

4

데이터 스케일링

MinMaxScaler 등으로 특징 간 단위를 통일하여 알고리즘이 왜곡 없이 학습하도록 돕습니다.

핵심 요약: 데이터 전처리는 모델의 성능에 결정적인 영향을 미치는 가장 중요한 단계 중 하나입니다. 데이터 탐색 → 오류 처리 → 결측치 처리 → 스케일링 순으로 체계적으로 접근해야 합니다.

💧 비어있는 값과의 싸움 (결측치 처리)

실제 데이터에는 값이 누락된 '결측치(NaN)'가 흔하게 존재합니다. 컴퓨터는 이런 빈칸으로는 계산을 할 수 없으므로, 반드시 합리적인 방법으로 처리해야 합니다.

처리 전 (Before)

몸무게 컬럼에 결측치(NaN)가 있어
평균 계산이 불가능합니다.

몸무게(g)
4500
NaN
3800
NaN
5200
평균: ???

처리 후 (After)

결측치를 평균값(4500)으로 채워
데이터를 온전히 활용할 수 있습니다.

몸무게(g)
4500
4500
3800
4500
5200
평균: 4500
핵심 요약: 수치형 데이터의 결측치는 평균값이나 중앙값으로 채우고(fillna), 범주형 데이터는 최빈값으로 채우거나 해당 행을 제거(dropna)하는 것이 일반적입니다. 데이터 손실을 최소화하는 것이 중요합니다.

⚖️ 데이터 스케일링: 가장 중요한 마법!

k-NN처럼 '거리' 기반 알고리즘에게 스케일링은 선택이 아닌 필수입니다. 단위와 숫자 범위가 다른 특징들을 공평한 출발선에 세워, 알고리즘이 착각하지 않도록 돕습니다.

왜 스케일링이 필수적인가?

컴퓨터는 '몸무게 (4500g)''부리 길이 (40mm)'를 비교할 때, 단위는 무시하고 숫자 크기만 봅니다. 이 경우, 몸무게가 부리 길이보다 100배 이상 더 중요한 특징이라고 착각하여 거리 계산을 왜곡시킵니다.

정규화(Normalization)MinMaxScaler를 사용해 모든 특징의 값을 0과 1 사이로 변환하여, 모든 특징이 동등한 중요성을 갖도록 만듭니다.

핵심 요약: 펭귄 분류 모델의 정확도는 스케일링 적용 후 76%에서 98%로 수직 상승했습니다. 이는 데이터 전처리가 알고리즘의 성능을 얼마나 극적으로 변화시킬 수 있는지 보여주는 명확한 증거입니다.