데이터 시각화(Data Visualization)란 데이터를 그랴픽 요소로 매핑하여 시각적으로 표현하는 것이다.
- 데이터가 우선적으로 필요
- 데이터셋 관점 (global)
- 개별 데이터의 관점 (local)
- 데이터셋은 수많은 종류가 존재
- 정형 데이터
- 시계열 데이터
- 지리 데이터
- 관계형(네트워크) 데이터
- 계층적 데이터
- 다양한 비정형 데이터
데이터셋의 종류
정형 데이터
테이블 형태로 제공되며 일반적으로 csv, tsv 파일로 제공된다.
- Row가 데이터 1개 item
- Column은 attribute (feature)
- 가장 쉽게 시각화할 수 있는 데이터셋
- 통계적 특성과 feature 사이 관계
- 데이터 간 관계
- 데이터간 비교
시계열 데이터
시간 흐름에 따른 데이터를 Time-Series라 한다.
- 기온, 주가 등 정형데이터와 음성, 비디오와 같은 비정형 데이터 존재
- 시간 흐름에 따른 추세(Trend), 계절성(Seasonality), 주기성(Cycle) 등을 살핌
지리/지도 데이터
지도 정보와 보고자 하는 정보 간의 조화가 중요하고 지도 정보를 단순화시키는 경우도 존재한다.
관계 데이터
객체와 객체 간의 관계를 시각화한다.
- Graph Visualization, Network Visualization
객체는 Node, 관계는 Link로 크기, 색, 수 등으로 객체와 관계의 가중치를 표현한다.
계층적 데이터
관계 중에서도 포함관계가 분명한 데이터로 네트워크 시각화로도 표현 가능하다.
- Tree, Treemap, Sunburst 등이 대표적
데이터의 종류
데이터의 종류는 다양하게 분류 가능하고 대표적으로 4가지로 분류한다.
- 수치형 (numerical)
- 연속형 (continuous): 길이, 무게, 온도 등
- 이산형 (discrete): 주사위 눈금, 사람 수 등
- 범주형 (categorical)
- 명목형 (nominal): 혈액형, 종교 등
- 순서형 (ordinal): 학년, 별점, 등급 등
이산형과 순서형은 수치적으로 비례하는 지, 절대적인 값을 나타내는지 등에 따라 구분할 수도 있다.
시각화
대부분 데이터를 점, 선, 면을 사용하여 데이터를 시각화할 수 있고 전주의적 속성을 통해 구분할 수도 있다.
- 전주의적 속성 (Pre-attentive Attribute)
- 주의를 주지 않아도 인지하게 되는 요소로 시각적으로 다양한 전주의적 속성이 존재
- Orientation, Length, Width, Size, Shape, Curvature, Added Marks, Color 등
- 동시에 여러 가지를 사용하면 인지하기 어려울 수도 있어 적절하게 사용하여 시각적 분리(visual pop-out)를 해야한다
주로 Python에서 사용할 수 있는 시각화 라이브러리 Matplotlib가 범용성이 제일 넓고, base가 되는 라이브러리이다.