[ML] 탐색적 데이터 분석 EDA

·2025년 1월 15일

ML

목록 보기
5/18

탐색적 데이터 분석(Exploratory Data Analysis, EDA)

데이터의 시각화, 기술통계 등의 방법을 통해 데이터를 이해하고 탐구하는 과정.
데이터에 대한 정보를 얻을 수도 있고, 적절한 모델링에 대한 정보도 얻을 수 있음.
예측 모델링이 아니더라도 데이터 분석에서는 반드시 필요.

기술 통계를 통한 EDA

  • data.describe()
    • include = 'all' \rightarrow 범주형 데이터도 확인 가능
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd 

tips_df = sns.load_dataset('tips')
tips_df.head(3)

tips_df.describe(include = 'all')

시각화를 이용한 EDA

countplot

  • 범주형 데이터의 각 카테고리별 빈도수 표현
  • x축: 범주형 자료의 카테고리
  • y축: 해당 카테고리의 빈도 수
sns.countplot(data = tips_df, x = 'day', hue = 'day')

barplot

  • 범주형 데이터의 각 카테고리에 따른 수치 데이터의 평균 비교
  • x축: 범주형 자료의 카테고리
  • y축: 보고자 하는 연속형 자료
sns.barplot(data = tips_df, x = 'sex', y = 'tip', estimator = 'mean', hue = 'sex')

boxplot

  • 수치형 & 범주형 자료의 시각화
  • 데이터의 분포, 중앙값, 사분위 수, 이상치 등을 한눈에 보기 쉽게 표현
  • x축: 수치형 or 범주형
  • y축: 수치형 자료
sns.boxplot(data = tips_df, x = 'time',y = 'total_bill', hue = 'time')

histogram

  • 수치형 자료의 빈도 시각화
  • 연속형 데이터의 분포를 나타냄
  • x축: 수치형 자료
  • y축: 자료의 빈도 수
sns.histplot(data = tips_df, x = 'total_bill')

tips_df['total_bill'].hist()
tips_df['total_bill'].plot.hist()

scatterplot

  • 수치형 자료끼리의 관계 시각화
  • 두 연속형 변수간의 관계를 시각적으로 파악
  • x축: 수치형 자료
  • y축: 수치형 자료
sns.scatterplot(data = tips_df, x = 'total_bill', y = 'tip')

pairplot

  • 여러 개의 변수간의 분포(관계)를 동시에 시각화
  • x축: 범주형 or 수치형 자료
  • y축: 범주형 or 수치형 자료
  • 대각선: 히스토그램 (분포)
sns.pairplot(data = tips_df)

profile
To Dare is To Do

0개의 댓글