[데이터 사이언스] EDA(탐색적 데이터 분석)란?

데이터셋 불러오기

데이터셋 정보 파악

  • 데이터셋을 불러오기 전 데이터셋의 정보를 먼저 파악한다.
    • 행과 열의 수
    • 열에 헤더가 있는지
    • 결측 데이터가 있는지
    • 원본 형태 확인

불러오기 전 정보 파악을 하는 이유

  • 예상하는 형태가 아닌 데이터일 수 있어서 불러오기조차 안되는 경우도 있을 수 있다.
  • CSV(Comma-Separated values)는 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다.
    • 확장자는 .csv이며 MIME 형식은 text/csv이다.

좋은 데이터셋

image

  • 위 이미지는 캐글의 데이터셋 설명 표이다.

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

  • 로우한 데이터를 바로 분석에 사용하기에는 어려움이 있다.
  • 수집한 데이터가 들어왔을 때, 이를 다양한 각도에서 관찰하고 이해하는 과정이다.
  • 데이터를 분석하기 전 복잡한 모델링이나 수식을 쓰지 않고 그래프나 통계적인 방법으로 자료를 직관적으로 탐색하는 것이 주목적이다.

견적을 내는 분석

  • 사각화 같은 도구를 통해 패턴을 발견한다.
  • 데이터의 특이성을 확인한다.
  • 통계와 그래픽을 통해 가설을 검정하는 과정을 포함한다.

탐색적 데이터 분석(EDA)

  • 쌓여있는 데이터를 기반으로 가설을 세워 데이터를 분석하는 방법이다.
  • 데이터의 구조와 특징을 파악하며 여기서 얻은 정보를 바탕으로 통계모형을 만든다.
  • 빅데이터 분석에 사용된다.

확증적 데이터 분석(CDA, Confirmatory Data Analysis)

  • 목적을 가지고 데이터를 확보하여 분석하는 방법이다.
  • 관측된 형태나 효과의 재현성 평가, 유의성 검정, 신뢰구간 추정 등 통계적 추론을 하는 단계이다.
  • 가설검정, 보통은 설문조사, 논문에 대한 내용을 입증하는데 많이 사용된다.

출처: 공대인들이 직접쓰는 컴퓨터공부방

방법

  • Graphic: 차트 혹은 그림을 이용 데이터를 확인한다.
  • Non-Graphic: Summary Statistics를 통해 확인한다.
  • 데이터 또한 Univariate, Multi-vairate로 나눠진다.

Uni - Non Graphic

  • 샘플 데이터의 분산을 확인하는 것이 주목적이다.
  • 숫자형 데이터의 경우 summary statistics를 제일 많이 활용한다. 이에는,
    • Center (Mean, Median, Mod)
    • Spread (Variance, SD, IQR, Range)
    • Modality (Peak)
    • Shape (Tail, Skewness, Kurtosis)
    • Outliers
  • 범주형 데이터의 경우,
    • occurence
    • frequency
    • tabulation

Uni - Graphic

  • Histogram, Pie chart, Stem-leaf plot, Boxplot, QQplot 등을 사용한다.
  • 만약 값들이 너무 다양하다면 Binning, Tabulation등을 활용한다.

QQPlot

image

  • ‘데이터의 분포와 이론상 분포가 잘 일치하는가?’를 확인할 수 있는 방법이다.
    • ex) 성적 분포가 고를 것이다.

Multi - Non Graphic

  • Relationship을 보는 것이 주된 목표이다.
  • Cross-Tabulation과 Cross-Statistics(Correlation, Covariance) 등을 사용한다.

스크린샷 2021-11-30 11 07 38

  • 위와 같이 Cross-Tabulation을 적용할 수 있다.

image

  • 숫자형 피쳐들에 경우 위와 같이 Cross-Statistics를 통해 EDA를 진행할 수 있다.

Multi - Graphic

image

  • Category & Numeric 데이터에 대해서 Boxplots, Stacked bar, Parallel Coordinate, Heatmap을 사용한다.

image

  • Numeric & Numeric 데이터에 대해서 Scatter Plot을 사용한다.

Pandas 사용 기초 EDA

자주 쓰이는 내장 함수

Missing Data

  • isna
  • isnull
  • notna
  • notnull
  • dropna
  • fillna

Data Frame

  • index
  • columns
  • dtypes
  • info
  • select_dtypes
  • loc
  • iloc
  • insert
  • head
  • tail
  • apply
  • aggregate
  • drop
  • rename
  • replace
  • nsmallest
  • nlargest
  • sort_values
  • sort_index
  • value_counts
  • describe
  • shape

시각화

  • plot
  • plot.area
  • plot.bar
  • plot.barh
  • plot.box
  • plot.density
  • plot.hexbin
  • plot.hist
  • plot.kde
  • plot.line
  • plot.pie
  • plot.scatter

데이터 프리프로세싱

image

  • 좋은 모델을 위해서는 GIGU(Garbage In Garbage Out)가 필수적이다.

Cleaning

  • 노이즈를 제거하거나, inconsistency를 보정하는 과정이다.
  • 값이 빠져있거나, 잘못 입력되어 있거나, 일관성을 가지지 않는 데이터를 제거/보정하는 과정이 포함되어 있다.
  • 데이터를 분석하기 전 오류를 깨끗이 다듬지 않으면 잘못된 인사이트를 얻을 수 있다.

Missing Values

  • Ignore the tuple (결측치가 있는 데이터 삭제)
  • Manual Fill (수동으로 입력)
  • Global Constant (“Unknown”)
  • Imputation (All mean, Class mean, Inference mean, Regression 등)

Noisy data

  • 큰 방향성에서 벗어난 random error 혹은 variance를 포함하는 데이터를 말하며, 대부분 descriptive statistics 혹은 visualization(eda) 등을 통해 제거가 가능하다.

Etc

  • Binning
  • Regression
  • Outlier analysis

Integration

  • 여러개로 나누어져 있는 데이터들을 분석하기 편하게 하나로 합치는 과정이다.

Transformation

  • 데이터의 형태를 변환하는 작업으로, scaling이라고 부른다.

Reduction

  • 데이터를 의미있게 줄이는 것을 의미하며, dimension reduction과 유사한 목적을 가진다.
0%