Day1_EDA,Pre-processing

Jayden1116·2021년 11월 20일
0

코드스테이츠

목록 보기
1/1

EDA(Exploratory Data Analysis)

  • 데이터 분석 방법론 중 하나로 시각화, 통계적 수치 확인 등을 통해 데이터를 파악한다.

방법에 따른 분류

  • Graphic : 차트 혹은 그림 등을 이용하여 데이터를 확인하는 방법입니다.
  • Non-Graphic :그래픽적인 요소를 사용하지 않는 방법으로, 주로 Summary Statistics를 통해 데이터를 확인하는 방법입니다.

타겟 데이터에 따른 분류

  • Uni-variate
  • Multi-variate : 변수들의 관계를 보는 것이 주목적

분류에 따른 조합

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

  • Uni-Nongraphic
    Sample Data의 Distribution을 확인하는 것이 주목적
    Numeric data의 경우 summary statistics를 제일 많이 활용
    Center (Mean, Median, Mod), Spread (Variance, SD, IQR, Range), Modality (Peak), Shape (Tail, Skewness, Kurtosis), Outliers 등을 확인
    Categorical data의 경우 occurence, frequency, tabulation 확인

  • Multi-Graphic
    Category & Numeric : Boxplots, Stacked bar, Parallel Coordinate, Heatmap
    Numeric & Numeric : Scatter Plot

  • Multi-Nongraphic
    Relationship을 보는 것이 주된 목표이며
    Cross-Tabulation
    Cross-Statistics (Correlation, Covariance)
    등을 사용합니다.

Pandas를 사용한 기초 EDA

Missing Data(결측치 확인)

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

DataFrame(데이터 구조 확인)

  • 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

Vis(시각화할 때)

  • plot
  • plot.bar
  • plot.barh
  • plot.box
  • plot.hist

시각화 시 한글 깨짐 현상 해결법

!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf

로 폰트를 받는다.

import matplotlib.pyplot as plt
plt.rc('font', family='NanumBarunGothic')

으로 글꼴을 설정

Data Preprocessing(데이터 전처리)

Cleaning

noise를 제거하거나, inconsistency를 보정하는 과정
값이 빠져있거나(결측치), 잘못 입력되었거나 일관성을 가지지않는 데이터들을 제거/보정

결측치(Missing data)

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

+ 벨로그 처음 작성이라 너무 어렵다... 시간도 오래 걸리고 @.@ 다음부턴 핵심만 적는 방향으로 가야할듯

profile
{do: smite}

0개의 댓글