본문 바로가기
개발/Data

[Data] #3

by dangbok 2024. 1. 15.

도서 <데이터 분석가가 반드시 알아야 할 모든 것> 참조

 

  • 데이터 탐색과 시각화
    • EDA와 데이터 시각화는 구별
      • EDA 단계에서 데이터 파악을 좀 더 효율적으로 하기 위해 시각화를 하기도 하지만, 데이터 시각화의 궁극적 목적은 분석 결과를 커뮤니케이션 하기 위함
        • 시간의 흐름에 따른 변화를 나타내기 위한 시간 시각화
        • 그룹별 차이를 나타내기 위한 비교 시각화
        • 전체 데이터에서 특정 항목이 차지하는 비중을 나타내기 위한 분포 시각화
        • 두 개 이상의 수치 데이터를 통해 서로 간의 관계를 나타내기 위한 관계 시각화
        • 실제 지리적 위치에 수치를 나타내는 공간 시각화
    • 탐색적 데이터 분석(EDA: Exploratory Data Analysis)
      • 가공하지 않은 원천의 데이터를 있는 그대로 탐색하고 분석하는 기법
      • 극단적인 해석은 피해야 하며 지나친 추론이나 자의적 해석도 지양해야 함
      • EDA의 목적
        • 데이터의 형태와 척도가 분석에 알맞게 되어있는지 확인
        • 데이터의 평균, 분산, 분포, 패턴 등의 확인을 통해 데이터 특성 파악
        • 데이터의 결측값이나 이상치 파악 및 보완
        • 변수 간의 관계성 파악
        • 분석 목적과 방향성 점검 및 보정
      • Python 실습
        • csv 파일 불러오기부터 데이터 전처리 가능한 pandas
        • 시각화 패키지 seaborn과 matplotlib
        • 데이터 샘플 확인 head()
        • 각 칼럼의 속성 및 결측치 확인 info()
        • 각 칼럼의 통계치 확인 describe()
        • 각 칼럼의 왜도 확인 skew()
        • 각 칼럼의 첨도 확인 kurtosis()
        • 특정 변수 분포 시각화 distplot
        • 분포를 효과적으로 표현해주는 violinplot()
        • 각 관측치의 위치를 직관적으로 표현해주는 stripplot()
    • 공분산과 상관성 분석
      • 공분산은 각 변수 간의 다른 척도기준이 그대로 반영되어 공분산 값이 지니는 크기가 상관성의 정도를 나타내지 못함 -> 피어슨 상관계수
      • 산점도의 기울기와 상관계수는 관련이 없다. 분산의 관계성이 같다면, 기울기가 크든 작든 상관계수는 같다.
      • 상관계수를 제곱한 값 -> 결정계수
      • 변수 척도에 따른 상관분석 방법
        • Pearson correlation coefficient 간격/비율-간격/비율
        • Spearman's rank correlation coefficient 서열-서열
        • Point-biserial correlation coefficient 간격/비율-명목(2분 변수)
        • Phi coefficient 명목(2분 변수)-명목(2분 변수)
        • Cramer's coefficient 명목-명목(2X2 이상)
      • Python 실습
        • 공분산 확인 cov()
        • 피어슨 상관계수 확인 corr()
        • 상관계수 히트맵 시각화 heatmap()
        • 클러스터맵 히트맵 시각화 clustermap()
    • 시간 시각화
      • 연속형 시간 시각화의 선그래프는 시간 간격의 밀도가 높을 때 사용
        • 추세선을 그리는 가장 일반적인 방법은 이동평균 방법을 사용(데이터의 연속적 그룹의 평균을 구하는 것)
      • 분절형 시간 시각화의 경우 막대그래프, 누적 막대그래프, 점 그래프 등은 시간의 밀도가 낮을 때 사용
        • 누적 막대그래프는 한 시점에 2개 이상의 세부 항목이 존재할 때 사용
    • 비교 시각화
      • 히트맵 차트는 그룹과 비교 요소가 많을 때 효과적으로 시각화를 할 수 있는 방법
        • 현재 가지고 있는 데이터의 구조와 자신이 확인하고자 하는 목적을 정확히 파악한 다음 차트 생성
      • 방사형 차트는 하나의 차트에 하나의 그룹을 시각화 또는 하나의 차트에 모든 그룹을 한 번에 시각화
      • 평행 좌표 그래프는 효과적으로 표현하려면 변수별 값을 정규화해야 함. 가장 낮은 값은 0%로, 가장 높은 값은 100%로 변환하여 차이를 더욱 부각
        • 각 그룹의 요소별 차이 수준을 효과적으로 파악할 수 있을 뿐 아니라, 집단적 경향성을 표현하는 데에 용이
    • 분포 시각화
      • 연속형과 같은 양적 척도인지, 명목형과 같은 질적 척도인지에 따라 구분해서 그림
      • 질적 척도로 이루어진 변수는 구성이 단순한 경우 파이차트나 도넛차트 사용
      • 구성 요소가 복잡한 질적 척도를 표현할 때는 트리맵 차트 또는 와플 차트 이용
    • 관계 시각화
      • 산점도를 그릴 때는 극단치를 제거하고서 그림
      • 산점도는 두 개의 변수 간 관계만 표현할 수 있다는 단점
      • 버블 차트를 이용하면 세 가지 요소의 상관관계 표현 가능
        • 버블차트를 해석할 때는 원의 지름이 아닌 면적을 통해 크기를 판단하도록 주의
    • 공간 시각화
      • 거시적에서 미시적으로 진행되는 분석 방향과 같이 스토리라인을 잡고 시각화 적용
      • 도트맵은 지리적 위치에 동일한 크기의 작은 점을 찍어서 해당 지역의 데이터 분포나 패턴 표현
      • 버블맵은 버블차트를 지도에 그대로 옮겨 둔 것
      • 코로플레스맵은 단계 구분도라고도 하며, 데이터 값의 크기에 따라 색상의 음영을 달리하여 해당 지역에 대한 값을 시각화하는 기법
      • 커넥션 혹은 링크맵은 지도에 찍힌 점들을 곡선 또는 직선으로 연결하여 지리적 관계를 표현
        • 연결선의 분포와 집중도를 통해 지리적 관계의 패턴을 파악하기 위해 사용
      • 플로우맵은 시작점과 도착점이 함께 표현됨
      • 카토그램은 각 지역의 면적을 데이터 값에 비례하도록 변형시켜 시각화
    • 박스 플롯
      • 하나의 그림으로 양적 척도 데이터의 분포 및 편향성, 평균과 중앙값 등 다양한 수치를 보기 쉽게 정리해줌
      • 데이터의 대체적인 분포 형태를 쉽게 확인하기 위해 사용
      • 카테고리별 분포를 비교할 때도 유용하게 사용
      • 박스 플롯을 해석할 때는 항상 데이터 분포도를 함께 떠올리는 습관 필요

'개발 > Data' 카테고리의 다른 글

[Data] #4  (0) 2024.01.16
[Data] #2  (0) 2024.01.11
[Data] #1  (1) 2024.01.04