반응형
1. 데이터 전처리가 중요한 이유
AI 모델의 성능은 데이터 품질에 크게 좌우됩니다.
데이터가 깨끗하지 않으면, 아무리 좋은 모델이라도 결과가 나빠집니다.
따라서 학습 전에 전처리(Preprocessing) 단계가 꼭 필요합니다.
1.1 전처리의 목표
- 결측치(Missing Value) 처리
- 이상치(Outlier) 제거
- 스케일 조정(Normalization/Standardization)
- 범주형 데이터 인코딩
- 데이터 시각화로 이해도 향상
2. 결측치 처리
2.1 결측치 확인
import pandas as pd
df = pd.read_csv("data.csv")
print(df.isnull().sum())
2.2 결측치 처리 방법
삭제(Drop): 결측치가 있는 행/열 제거
df = df.dropna()
대체(Fill): 평균, 중앙값, 최빈값으로 채움
df['age'] = df['age'].fillna(df['age'].mean())
3. 이상치 탐지와 처리
이상치(Outlier): 데이터 분포에서 벗어난 극단값
탐지 방법
- 통계 기반: IQR(사분위수 범위)
- 시각화: Boxplot
import numpy as np
Q1 = df['value'].quantile(0.25)
Q3 = df['value'].quantile(0.75)
IQR = Q3 - Q1
outliers = df[(df['value'] < Q1 - 1.5*IQR) | (df['value'] > Q3 + 1.5*IQR)]
4. 데이터 스케일 조정
모델에 따라 특성(Feature)의 스케일 차이가 성능에 영향을 줍니다.
- 표준화(Standardization): 평균 0, 표준편차 1
- 정규화(Normalization): 0~1 범위
from sklearn.preprocessing import StandardScaler, MinMaxScaler
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df[['feature1', 'feature2']])
5. 범주형 데이터 인코딩
모델이 텍스트를 직접 이해하지 못하므로 숫자로 변환해야 합니다.
- 원-핫 인코딩 (One-Hot Encoding):
df_encoded = pd.get_dummies(df, columns=['category'])
6. 데이터 시각화
6.1 히스토그램
import matplotlib.pyplot as plt
df['age'].hist(bins=20)
plt.xlabel('Age')
plt.ylabel('Count')
plt.show()
6.2 박스플롯(Boxplot)
df.boxplot(column='value', by='category')
plt.show()
6.3 산점도(Scatter Plot)
plt.scatter(df['feature1'], df['feature2'])
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()
7. 실습 – Iris 데이터 전처리와 시각화
from sklearn.datasets import load_iris
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
# 데이터 불러오기
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target
# 결측치 확인
print(df.isnull().sum())
# 표준화
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df.iloc[:, :-1])
# 시각화
plt.scatter(df['sepal length (cm)'], df['sepal width (cm)'], c=df['target'])
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.show()
8. 오늘의 핵심 요약
- 전처리는 데이터 품질을 높여 모델 성능을 극대화
- 결측치, 이상치, 스케일 조정, 범주형 인코딩이 주요 작업
- 시각화를 통해 데이터 특성을 쉽게 이해 가능
- AI 데이터 전처리와 시각화 완벽 가이드
- 결측치, 이상치, 스케일 조정, 인코딩, 시각화까지 한 번에 배우기
- 인공지능 모델 성능을 높이는 데이터 전처리 비법
반응형
'개발 창고 > AI' 카테고리의 다른 글
비지도학습 실습: 군집과 차원 축소 (2) | 2025.08.16 |
---|---|
지도학습 실습: 분류(Classification)와 회귀(Regression) (2) | 2025.08.16 |
딥러닝(Deep Learning) 기본 개념: CNN과 RNN 이해하기 (2) | 2025.08.12 |
AI 입문 가이드: 개념부터 이미지 분류 실습까지 (7) | 2025.08.10 |
DQN으로 CartPole 정복하기: 딥러닝 기반 강화학습 입문 (5) | 2025.07.11 |