1. EDA란 무엇이며 왜 중요한가요?

탐색적 데이터 분석(EDA)은 데이터의 구조와 특성을 파악하고, 숨겨진 패턴과 문제점을 찾아내는 과정입니다. 이는 머신러닝 모델을 구축하기 전, 데이터가 가진 본연의 의미를 이해하고 분석 방향을 설정하는 데 필수적입니다.

EDA가 중요한 이유는 다음과 같습니다.

  • 데이터에 대한 깊은 이해: 단순히 숫자로만 나열된 데이터는 아무 의미가 없습니다. EDA는 데이터를 시각화하고 통계적으로 요약하여 데이터가 어떤 분포를 가졌는지, 어떤 경향성을 보이는지 한눈에 파악하게 해줍니다.
  • 문제점 발견: 데이터에 남아있는 결측치, 이상치, 잘못된 데이터 형식을 발견하고, 이를 어떻게 처리할지 결정할 수 있습니다.
  • 최적의 모델 선택: 데이터의 특성을 파악하면, 어떤 머신러닝 알고리즘(예: 분류, 회귀)이 가장 적합할지 판단하는 데 도움을 줍니다. 예를 들어, 데이터에 선형 관계가 있다면 선형 회귀 모델을 고려할 수 있습니다.

2. EDA의 핵심 기법 및 단계

EDA는 정해진 순서가 있는 것이 아니라, 데이터에 대한 질문을 던지고 답을 찾아가는 반복적인 과정입니다. 주로 다음 세 가지 분석 기법을 활용합니다.

2.1 데이터 구조 및 요약 확인 (레시피 한 눈에 파악하기)

가장 먼저 데이터의 전체적인 모습을 확인하여, 분석을 위한 기본적인 정보를 얻습니다.

  • df.head() / df.tail(): 데이터프레임의 상위 또는 하위 몇 개 행을 출력하여 데이터의 전반적인 형태를 빠르게 훑어봅니다.
  • df.info(): 각 컬럼의 자료형, 결측값 유무, 메모리 사용량 등을 요약해 보여줍니다. 이 정보를 통해 데이터 타입 변환이나 결측치 처리의 필요성을 파악할 수 있습니다.
  • df.describe(): 숫자형 컬럼에 대한 기술 통계량(평균, 표준편차, 최솟값, 최댓값 등)을 보여줍니다. 데이터의 중심 경향성과 분포 범위를 빠르게 이해하는 데 유용합니다.

2.2 단일 변수 분석 (재료 하나하나의 맛보기)

각 변수(컬럼)의 특성을 개별적으로 분석하여 데이터 분포를 이해합니다.

수치형 변수

  • 히스토그램(Histogram): 데이터의 분포 형태를 막대 그래프로 보여줍니다. 데이터가 어느 구간에 가장 많이 몰려 있는지, 좌우로 치우쳐 있는지 등을 파악할 수 있습니다.
  • 박스 플롯(Box Plot): 이상치(Outlier)를 시각적으로 쉽게 파악하는 데 효과적입니다. 데이터의 사분위수, 중앙값, 최댓값, 최솟값을 한눈에 보여줍니다.
  • 분포 플롯(Distribution Plot): 히스토그램을 부드러운 곡선으로 나타내어 데이터 밀도 분포를 보여줍니다.

범주형 변수

  • value_counts(): 각 카테고리에 속하는 데이터의 개수(빈도)를 계산하여 보여줍니다.
  • 막대 그래프(Bar Plot): 각 카테고리의 빈도수를 막대 길이로 시각화하여 비교합니다.

2.3 다변수 분석 (재료들 간의 궁합 보기)

두 개 이상의 변수 간의 관계를 파악하여 숨겨진 패턴과 상관관계를 찾아냅니다.

  • 산점도(Scatter Plot): 두 수치형 변수 간의 관계(양의 상관관계, 음의 상관관계 등)를 점으로 시각화합니다.
    예시: “광고 비용”과 “판매량” 간에 양의 상관관계가 있는지 확인하는 데 사용됩니다.
  • 상관관계 매트릭스 및 히트맵(Correlation Matrix & Heatmap): 여러 수치형 변수 간의 상관관계를 표와 색상으로 나타냅니다. 1에 가까울수록 강한 양의 상관관계, -1에 가까울수록 강한 음의 상관관계를 의미합니다.
  • 그룹별 분석: groupby()와 같은 함수를 활용하여 특정 범주형 변수(예: 지역, 성별)에 따른 다른 변수(예: 평균 수입)의 차이를 분석합니다.

3. EDA와 AI 엔지니어링의 관계

EDA는 AI 엔지니어링의 핵심 전처리 단계입니다. 머신러닝 모델은 데이터의 품질에 매우 민감하기 때문에, EDA를 통해 데이터의 특성을 정확히 파악하고 문제점을 해결하는 것이 모델의 성능을 크게 좌우합니다.

결국, EDA는 AI 모델이 더 나은 예측과 결정을 내릴 수 있도록 데이터의 토대를 단단하게 다지는 작업이라고 할 수 있습니다.