본문 바로가기
카테고리 없음

파이썬으로 데이터 전처리 기초 배우기 – 입문자를 위한 실습 가이드

by 마루.T 2025. 3. 25.

 

머신러닝이나 데이터 분석을 시작할 때 가장 먼저 마주하게 되는 작업은 "데이터 전처리"입니다. 데이터 전처리는 모델의 성능을 크게 좌우할 만큼 중요한 단계입니다. 이 글에서는 파이썬 입문자도 이해할 수 있도록 데이터 전처리의 기초 개념과 실습 예제를 함께 소개합니다.

1. 데이터 전처리란?

데이터 전처리(Preprocessing)는 원시(raw) 데이터를 분석이나 머신러닝 모델 학습에 적합한 형태로 바꾸는 과정입니다. 이 과정에는 결측치 처리, 이상치 제거, 데이터 형식 변환, 정규화, 범주형 변수 처리 등이 포함됩니다.

2. 주요 전처리 작업 소개

  • 결측치 처리(Missing Values): 데이터가 비어 있는 항목을 평균값, 최빈값으로 채우거나 제거
  • 이상치 처리(Outliers): 데이터 분포에서 벗어난 값들을 확인하고 제거 또는 대체
  • 데이터 스케일링(Scaling): 값의 크기를 일정 범위로 조정 (예: MinMaxScaler, StandardScaler)
  • 범주형 인코딩(Encoding): 문자열로 된 범주형 데이터를 숫자로 변환 (예: LabelEncoder, OneHotEncoder)

3. 실습: 타이타닉 데이터셋 전처리 예제

import pandas as pd
from sklearn.preprocessing import LabelEncoder

# 1. 데이터 불러오기
url = 'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv'
data = pd.read_csv(url)

# 2. 결측치 처리
data['Age'].fillna(data['Age'].mean(), inplace=True)

# 3. 범주형 데이터 인코딩
le = LabelEncoder()
data['Sex'] = le.fit_transform(data['Sex'])

# 4. 사용하지 않을 열 제거
data.drop(columns=['Name', 'Ticket', 'Cabin'], inplace=True)

print(data.head())

4. 결과 해석

위 코드를 통해 타이타닉 데이터셋에서 나이 결측치를 평균으로 채우고, 성별을 숫자로 인코딩했습니다. 분석에 필요 없는 열도 제거하여 데이터가 모델에 적합한 형태로 정리된 것을 확인할 수 있습니다.

5. 전처리의 중요성

모델 학습 이전에 이 과정을 제대로 수행하지 않으면, 아무리 좋은 알고리즘을 사용하더라도 성능이 낮아질 수 있습니다. 따라서 전처리는 단순한 준비 작업이 아닌, 전체 분석의 성패를 좌우하는 핵심 단계입니다.

6. 다음 단계는?

전처리에 익숙해졌다면 이제 시각화를 통해 데이터의 분포를 살펴보거나, 간단한 분류 모델을 적용해 볼 수 있습니다. 이후에는 파이프라인 구성, 결측치 자동 처리, 이상치 탐지 등 고급 전처리 기법으로 확장해 나갈 수 있습니다.

 

<함께 보면 좋은 글>

scikit-learn으로 머신러닝 실습 시작하기 – 파이썬 입문자를 위한 가이드

머신러닝과 딥러닝의 차이점 – 파이썬 입문자를 위한 쉬운 설명