머신러닝&딥러닝

머신러닝 & 딥러닝 기초 16편 | EDA(탐색적 데이터 분석)

SecLogs YJ 2026. 3. 15. 23:37
목차

1. EDA 개념
2. EDA 목적
3. EDA 주요 단계
4. 데이터 기본 구조 파악
5. 기초 통계량 활용
6. EDA 결과

 

1. EDA란

EDA(Exploratory Data Analysis)는 데이터를 시각적으로 탐색, 통계적으로 분석하여 데이터의 구조와 특징을 이해하는 과정이다.

데이터 분석을 시작하기 전에 수행하는 초기 분석 단계이다.

 

EDA를 통해 다음과 같은 내용을 확인할 수 있다.

  • 데이터 분포
  • 변수 간 관계
  • 이상치
  • 결측값

이를 통해 데이터의 문제점을 발견하고 분석 및 머신러닝 모델링에 필요한 준비를 수행할 수 있다.

 

 

2. EDA 목적

EDA의 주요 목적은 다음과 같다.

 

  1. 데이터의 기본 특성 이해
  2. 데이터 정리
  3. 가설 수립
목적 설명
데이터의 기본 특성 이해 데이터 분포, 데이터 범위, 이상치 존재 여부, 결측값 여부 등을 통해 데이터의 형태를 파악한다.
데이터 정리 결측값 처리, 이상치 제거, 중복 데이터 제거 등 데이터의 문제점을 발견하고, 이를 정리하는 작업을 수행한다.
가설 수립 데이터를 탐색하는 과정에서 데이터의 패턴을 발견하여, 분석 가설을 세운다.
ex) 특정 요일에 매출이 증가한다, 광고비가 증가하면 판매량도 증가한다.

 

 

3. EDA 주요 단계

EDA는 일반적으로 다음 단계로 진행된다.

 

3-1 데이터 불러오기

분석할 데이터를 불러온다.

import pandas as pd

df = pd.read_csv("data.csv")

 

3-2 데이터 기본 정보 확인

데이터의 구조와 정보를 확인한다.

df.head()
df.info()
df.describe()

 

각 함수의 역할음 다음과 같다.

함수 설명
head() 데이터 상위 5행 확인
info() 데이터 타입 및 결측값 확인
describe() 수치형 데이터 요약 통계

 

 

3-3 결측값 및 이상치 확인

결측갑과 이상치는 분석 결과에 영향을 줄 수 있으므로 반드시 확인해야 한다.

 

1) 결측값 확인

df.isnull().sum()

 

 

2) 이상치 확인

이상치는 보통 박스플롯(Boxplot)을 이용해 확인할 수 있다.

import seaborn as sns
import matplotlib.pyplot as plt

sns.boxplot(x=df['열 이름'])
plt.show()

 

3-4 데이터 분포 확인

데이터가 어떤 분포를 가지는지 확인한다.

히스토그램을 이용하여 데이터 분포를 확인할 수 있다.

df['열 이름'].hist()
plt.show()

 

이를 통해 데이터가 정규분포를 따르는지 여부도 확인할 수 있다.

 

 

3-5 변수 간 관계 탐색

두 변수 사이의 관계를 분석한다.

 

대표적으로 다음 그래프를 사용한다.

  • 산점도 (Scatter Plot)
  • 히트맵 (Heatmap)
  • 페이플롯 (Pair Plot)

 

4. 데이터 기본 구조 파악

데이터 분석 전 데이터의 기본 구조 파악이 선행되어야 한다.

데이터 기본 구조를 파악할 때 확인하는 요소는 다음과 같다.

 

4-1 데이터셋 크기

데이터셋이 몇 개의 행(row)과 열(column)로 구성되어 있는지 확인한다.

df.shape

 

4-2 데이터 타입

각 변수의 데이터 타입을 확인한다.

df.dtypes

 

대표적인 데이터 타입은 다음과 같다.

  • 수치형 데이터(Numeric)
  • 범주형 데이터(Categorical)
  • 문자열 데이터(String)
  • 날짜/시간 데이터(DateTime)

 

4-3 결측값 확인

데이터셋에 비어 있는 값이 있는지 확인한다.

df.isnull().sum()

 

 

4-4 중복 데이터 확인

동일한 데이터가 여러 번 존재하는지 확인한다.

df.duplicated().sum()

 

5. 기초 통계량 활용

EDA에서는 다양한 기초 통계량을 활용하여 데이터의 특성을 이해한다.

 

대표적인 통계량은 다음과 같다.

  • 중심 경향성 : 데이터의 대푯값
    • 평균(Mean)
    • 중앙값(Median)
    • 최빈값(Mode)
  • 산포도 : 데이터가 얼마나 흝어져 있는지
    • 분산(Variance)
    • 표준편차(Standard Deviation)
    • 범위(Range)
  • 데이터 분포 특성 : 데이터의 분포 형태
    • 왜도(Skewness)
    • 첨도(Kurtosis)

 

6. EDA 결과

EDA를 통해 데이터를 충분히 분석하면 다음과 같은 결과를 얻을 수 있다.

  • 데이터셋의 구조와 특성 이해
  • 결측값 및 이상치 처리 계획 수립
  • 데이터 분포 및 변수 간 관계 파악
  • 분석 방향 및 가설 설정

이러한 과정을 통해 데이터 분석 및 머신러닝 모델링을 위한 기초 준비 단계가 완성된다.

 


 👉 머신러닝 & 딥러닝 기초 17편 | 데이터 그룹화와 집계(Groupby, Pivot Table)