본문 바로가기
Big Data

Big Data 분석 - 탐색적 분석(시각화)

by jun_code 2022. 5. 19.

탐색적 분석

 

탐색적 분석

  • 다양한 시각화, 통계 분석을 이용해 데이터의 패턴, 특성, 변수 간의 관계 파악 등 데이터를 종합적으로 이해하는 과정
  • 그래프와 정보를 통합한 인포그래픽스 사용이 증가하는 추세임

 

자료 형태별 그래프

  • 연속형 : 측정 도구로 측정하는 데이터
    • 등간 척도 : 속성을 평가할 수 있는 균일한 간격을 두고 측정하는 척도, 절대 영점이 없음
    • 비율 척도 : 절대 영점이 있는 등간 척도로 사칙 연산이 가능함
  • 이산형 : 사람이 직접 셀 수 있는 데이터
    • 명목형 : 이름뿐인 척도로 숫자로 표현되지만 수량적 의미를 갖지 않고 카테고리 구분을 위한 용도
    • 순서형 : 관찰 대상이 지니는 속성에 따라 순위를 결정하는 척도
그래프 Y X Z 패키지 함수
Bar Chart   범주형   pandas bar
Histogram   연속형   pandas hist
Box Plot 연속형 범주형   pandas boxplot
Pie Chart   범주형   pandas pie
Scatter Plot 연속형 연속형   seaborn scatterplot
Scatter Matrix 연속형 연속형   seaborn pairplot
Trend Chart 연속형 시계열 날짜   pandas plot
Heatmap 연속/범주형 연속/범주형 연속형 seaborn heatmap
Contour Plot 연속형 연속형 연속형 seaborn kdeplot
Parallel Plot   연속/범주형   pandas parallel_coordinateds

사용 목적별 그래프

그래프 목적 자료 유형
Bar Chart 범주형(항목별) 빈도 분석 범주형
Histogram 구간별 분포 현황과 패턴 및 이상치 확인 연속형
Box Plot 상자 수염도표를 이용한 분포 현황 및 이상치 확인 연속형
Pie Chart 범주형(항목별) 빈도 비율 분석 범주형
Scatter Plot 2개 연속형 변수 간의 분포, 패턴, 관계 및 이상치 확인 연속형
Scatter Matrix 다수의 연속형 변수 간의 분포, 패턴, 관계 및 이상치 확인 연속형
Trend Chart X축(시간 등) 변화에 따른 Y값의 변화, 추세 패턴 확인 연속형
Heatmap 2축(X,Y)의 값(항목 또는 값) 조합별 Z값(목표값 등) 비교(색으로 비교) 연속/범주형
Contour Plot X,Y축의 값 분포별 Z값(목표값 등)의 변화, 패턴 확인 연속형
Parallel Plot 다수의 변수 수준별 자료의 변화 경로, 패턴 확인 범주, 연속형

 

 

탐색적 분석 - 그래프(실습)

 

Mac Jupyter 한글 폰트 깨짐 해결

 

  • 1. nanum 폰트를 설치해 주어야 한다
  • 2. 설치되었는지 확인하고 -로 출력되는 것을 False로 설정한다
  • 참고 : 위의 코드에 있는 링크 참조

Bar Chart

  • 범주형(항목별) 빈도 분석

Histogram

  • 구간별 분포 현황과 패턴 및 이상치 확인
  • 연속형 데이터를 요약하여 가로축에 구간, 세로축에 빈도를  표현하는 그래프
    • 일반적으로 가로축 구간을 7~10개로 설정함

 

Box Plot

  • 상자 수염도표를 이용해 데이터의 분포, 패턴, 이상치 등을 표현하는 그래프
  • 사분위 범위(IQR)를 사용하여 이상치 포함 여부를 확인(IQR = Q3-Q1)
  • 이상치 기준 : Q1- 1.5 * IQR 미만, Q3 + 1.5 * IRQ 초과

 

Pie Chart

  • 범주별 구성(빈도) 비율을 부채꼴 모양으로 표현하는 그래프
  • 전체에서 차지하는 비율을 의미함
  • 구성항목이 5개보다 많으면 식별이 어려움

 

Scatter Plot

  • X, Y 좌표를 이용해 2개의 연속형 변수 간의 분포, 패턴, 관계를 표현하는 그래프
  • 선형 관계 분석이 필요한 경우에는 회귀 직선으로 적합해서 확인하기
  • 최근 X 좌표에 범주형 자료도 지원함

 

Scatter Matrix(Pair Plot)

  • 다수의 연속형 변수 간의 분포, 패턴, 관계를 동시에 표현하는 그래프
  • 변수간 상으로 산점도를 표시함
  • 다수의 연속형 변수를 한번에 파악하거나 변수간의 관계를 확인하기 위해 사용

 

Trend Chart

  • X축(시간, 가격 등 숫자형 자료)의 변화에 따른 Y 값의 변화, 추세를 표현하는 그래프
  • 시계열 변화 특성을 확인할 목적으로 많이 활용됨
    • parese_dates = ['컬럼명'] : pd.read_csv()를 하면 date를 object type으로 불러오기 때문에 datetime tpye으로 parse해야 하는 경우에 사용

 

Heatmap

  • 2축(X,Y)의 값 조합별 Z값을 색깔로 표현하는 그래프
  • 위치별 값을 나타내는 열(heat)와 지도(map)
  • 연속형 변수 간의 상관계수 산출 => 항목 또는 값 조합별 목표값 분포, 변화 분석

 

Counter Plot

  • X, Y축의 연속형 자료 값을 등고선으로 대응하는 Z값(목표값)을 색깔로 표현하는 그래프
  • 자료의 분포 밀도, 변화 및 패턴 확인
  • 영역별 자료 변화 및 특정 영역 이상 확인 => 영향 인자 변화에 따른 최적 조건 영역 탐색

Parallel Plot

  • 다수의 변수 수준별 자료를 평면에 평행으로 표시하여 수준별 변화 경로, 패턴을 표현하는 그래프
  • 변수 간의 변화 관계 및 방향성을 확인
  • 입력 필드 X만큼 Y축을 만들어 동일한 행에 있는 값을 선으로 연결하여 그린 그래프
    • 정규화를 시킨 후에 다시 해보기

 

Customizing

  • 기본으로 제공되는 그래프 결과의 가독성 향상을 위해 그래프 속성을 변경하거나 Dashboard 등을 구성하여 그래프 정보를 종합적으로 표현하는 작업
  • Dashboard : 동시에 여러 그래프 분석

 

타이타닉 데이터로 탐색적 분석하기인 (EDA)

 

전체 데이터 구조 파악하기

데이터 속성 및 기술 통계량 확인

  • info() : 각 컬럼의 null값 확인 및 dtype 확인 가능
  • .astype() : 각 컬럼의 데이터 형태를 변경할 수 있음

  • describe() : 각 컬럼별 min, max, mean 등을 보여줌
    • describe(include='all') : count, unique 값, top, freq 등을 추가적으로 보여줌

 

목표 변수 및 설명 변수 분포 확인

 

목표 변수

  • Titanic 데이터에서 Survived가 목표 변수

설명변수 - 명목형 변수

  • df.columns.dtype : object 변수 확인