*데이터 시각화란?
- 데이터를 그래픽 요소로 매핑하여 시각적으로 표현하는 것
- 시각화는 다양한 요소가 포함된 Task
- 목적 - 왜 시각화 하는지?
- 독자 - 시각화 결과는 누구를 대상으로 하는지?
- 데이터 - 어떤 데이터를 시각화할 것인지?
- 스토리 - 어떤 흐름으로 인사이트를 전달할 것인지?
- 방법 - 전달하고자 하는 내용에 맞게 효과적인 방법을 사용하고 있는지?
- 디자인 - UI에서 만족스러운 디자인을 가지고 있는지?
- raw data만 처리하는게 아니라 원하는 정보를 추출할 수 있어야 함 => ex) Preprocessing
- Data의 전체적인 흐름을 알 필요가 있음 => 흐름을 잘 전달하기 위한 Bar plot, Line plot, Scatter plot 등...
1.1 '데이터' 시각화
- 데이터 시각화를 위해서는 데이터가 우선적으로 필요
- 데이터셋 종류
- 정형 데이터
- 테이블 형태, 일반적으로 csv, tsv
- 가장 쉽게 시각화할 수 있는 데이터셋
- 통계적 특성과 feature 사이 관계
- 데이터 간 관계, 데이터 간 비교 - 시계열 데이터
- 시간 흐름에 따른 데이터 Time-Series
- 기온, 주가 등 정형데이터와 음성, 비디오와 같은 비정형 데이터 존재
- 시간 흐름에 따른 추세(Trend), 계절성(Seasonality), 주기성(Cycle) 등 살핌 - 지리 데이터
- 지도 정보와 보고자 하는 정보 간의 조화 중요 + 지도 정보를 단순화 시키는 경우도 존재
- 거리, 경로, 분포 등 다양한 실사용 - 관계형(네트워크) 데이터
- 객체와 객체간의 관계를 시각화 : Graph Visualization / Network Visualization
- 객체는 Node, 관계는 Link
- 크기, 색, 수 등으로 객체와 관계의 가중치를 표현
- heuristic - 계층적 데이터
- 관계 중에서도 포함관계가 분명한 데이터
- Tree, Treemap, Sunburst가 대표적 - 다양한 비정형 데이터
- 정형 데이터
1.2 데이터의 종류
- 수치형(numerical)
- 연속형(continuous) : 길이, 무게, 온도 등
- 이산형(discrete) : 주사위 눈금, 사람 수 등
- 범주형(categorical)
- 명목형(nominal) : 혈액형, 종교 등
- 순서형(ordinal) : 학년, 별점, 등급 등
2.1 마크와 채널
- Mark : 점, 선, 면으로 이루어진 데이터 시각화
- Channel : 각 마크를 변경할 수 있는 요소들
2.2 전주의적 속성
- Pre-attentive Attribute
- 주의를 주지 않아도 인지하게 되는 요소
- 적절히 사용하여 시각적 분리(visual pop-out) 적용
3.Python , Matplotlib
*Why matplotlib?
- 현재 사용되고 있는 다양한 데이터 분석 및 머신러닝/딥러닝은 Python에서 이루어짐
- numpy와 scipy를 베이스로 하여 다양한 라이브러리와 호환성이 좋음
- Scikit-Learn, PyTorch, Tensorflw
- pandas
- 다양한 시각화 방법론을 제공
- 막대그래프
- 선그래프
- 산점도
- ETC
- 이외 Seaborn, Plotly, Bokeh, Altair 등 시각화 라이브러리 존재
*Pythonic plot
- Pyplot API : 순차적 방법
- 객체지향(Object-Oriented) API : 그래프에서 각 객체에 대해 직접적으로 수정하는 방법
fig = plt.figure()
x1 = [1, 2, 3]
x2 = [3, 2, 1]
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)
ax1.plot(x1)
ax2.plot(x2)
plt.show()
'부스트캠프 AI Tech > Data visualization' 카테고리의 다른 글
[Data viz(5)] Pie Charts (0) | 2021.09.08 |
---|---|
[Data viz(3)] Seaborn (0) | 2021.08.23 |
[Data viz(1)] 기본적인 차트 (0) | 2021.08.09 |