[Boostcamp AI Tech] Data Viz 2강

이성범·2022년 2월 3일
0

Boostcamp AI Tech

목록 보기
18/49

기본적인 차트의 사용

이번 강에서는 데이터를 조금 더 효과적으로 표현할 수 있는 시각화 기법의 기본적인 차트 사용법에 대하여 학습을 진행했다.

00. 학습 내용

  • Bar Plot에 대하여 학습
  • Line Plot에 대하여 학습
  • Scatter Plot에 대하여 학습

01. Bar Plot

  • Bar Plot은 직사각형 막대를 사용하여 데아터의 값을 표현하는 차트/그래프
  • 범주(Category)에 따른 수치 값을 비교하기에 적합한 방법 (개별, 그룹 비교 모두 적합)
  • Matplotlib 에서는 기본적으로 bar(수직), barh(수평) 함수를 이용해 만듬
  • Bar Plot에서는 범주에 대해 각 값을 표현 -> 즉 1개의 feature에 대해서만 보여줌
  • 따라서 여러 Group을 보여주기 위해서는 여러가지 방법이 필요함
    • Multiple Bar Plot
      • 플롯을 여러 개 그리는 방법
    • Stacked Bar Plot
      • 2개 이상의 그룹을 쌓아서(stack) 표현하는 bar plot
      • 응용하여 전체에서 비율을 나타내는 Percentage Stacked Bar Chart 존재
    • Overlapped Bar Plot
      • 겹쳐서 표현하는 방법 (3개 이상의 그룹일 경우 선호되는 방식은 아님)
    • Grouped Bar Plot
      • 그룹별 범주에 따른 bar를 이웃되게 배치하는 방법
  • 앞서 소개한 내용 모두 그룹이 5개~7개 이하일 때 효과적, 만약 그룹이 많다면 적은 그룹은 ETC로 처리하는 것이 바람직함
  • 정확한 Bar Plot을 그리기 위해서는 실제 값과 그에 표현되는 그래픽으로 표현되는 잉크 양은 비례해야 함
    • x축의 시작은 zero(0)
  • 정확한 Bar Plot을 그리기 위해서는 데이터의 종류에 따른 정렬은 필수
    • 시계열 | 시간순
    • 수치형 | 크기순
    • 순서형 | 범주의 순서대로
    • 명목형 | 범주의 값 따라 정렬
    • 여러가지 기준의 정렬을 통해 패턴을 발견할 수도 있음
  • 정확한 Bar Plot을 그리기 위해서는 Bar 간의 적절한 여백과 공간만 조정도 필수
  • 정확한 Bar Plot을 그리기 위해서는 필요없는 복잡함 보다는 단순함을 추구해야 함
    • 정확한 차이 (EDA)
    • 큰 틀에서 비교 및 추세 파악 (Dashboard)
  • 정확한 Bar Plot을 그리기 위해서는 오차 막대를 추가하여 Uncertainty 정보를 추가 할 수 있음

02. Line Plot

  • Line Plot은 연속적으로 변화하는 값을 순서대로 점으로 나타내고, 이를 선으로 연결한 그래프
  • 시계열 분석과 같은 시간/순서에 대한 추세의 변화를 관찰하는데 적합함
  • Matplotlib 에서는 기본적으로 plot 함수를 이용해 만듬

  • Noise의 인지적인 방해를 줄이기 위해 smoothing을 사용해 시각화할 수 있음(시시각각 변동하는 데이터는 Noise로 인해 패턴 및 추세 파악이 어려움)

  • Line Plot은 추세에 집중하는 것이 더 좋을 수 있음
  • 너무 구체적인 line plot보다는 생략된 line plot이 더 나을 수 있음
  • 생략되지 않는 선에서 범위를 조정하여 변화율 관찰하는 것이 인사이트 창출에 도움을 줄 수 있음

  • 규칙적인 간격의 데이터가 아니라면 각 관측 값에 점으로 표시하는 것이 좋을 수 있음
    • 그래프 상에서 규칙적일 때 : 기울기 정보의 오해
    • 그래프 상에서 간격이 다를 때 : 없는 데이터에 대해 있다고 오해

  • 이밖에도 Min/Max 정보(또는 원하는 포인트, uncertainty 정보 등)는 추가해주면 도움이 될 수 있음

03. Scatter Plot

  • Scatter plot은 점을 사용하여 두 feature간의 관계를 알기 위해 사용하는 그래프
  • 직교 좌표계에서 x축/y축에 feature 값을 매핑해서 사용
  • Matplotlib 에서는 기본적으로 scatter 함수를 이용해 만듬

  • Scatter plot의 경우 상관 관계, 군집, 값 사이의 차이, 이상치 등을 확인하는데 적합한 방식
profile
Machine Learning Engineer at Konan Technology

0개의 댓글