brunch

You can make anything
by writing

C.S.Lewis

by GyuhoLee Mar 08. 2020

시각화? 고민하지 말고 4가지만 기억하자!

4가지 차트로 익히는 데이터 시각화 기초

오늘은 이전 시각화 포스트의 연장선으로, 머신러닝/딥러닝 쪽의 복잡한 이야기보다 실전적이고 재미있는 시각화 이야기를 해 보자.


머신러닝/딥러닝 기술이 아무리 유용하다고 해도 데이터를 다룰 때 가장 많이 사용하는 방법은 "시각화"이다. 당장 보고서, 발표자료를 만들거나 급하게 데이터를 확인할 때 시각화 만큼 유용하게 써먹을 수 있는 기술이 드물기 때문이다.


흔히 "논문을 쓰기 전에 데이터만 한달 정도 보고 있어라"라고 말할 정도로 데이터 과학에서 "자료의 이해"는 중요한 역할을 하는데, 이전 글에서 말한 바와 같이 효율적인 데이터 파악이라는 관점에서 시각화는 데이터 과학의 단짝 친구라고 볼 수 있다.


새 데이터가 확보되면 종일 이런 걸 만들면서 확인한다


데이터 시각화, 어렵게 생각하지 말자!

사실, 데이터 시각화를 깊게 파고들면 심오한 부분도 많고 자바 스크립트나 프로세싱, C++등 복잡한 프로그래밍 언어 지식도 많이 사용된다. 하지만, "당장 써먹을 수 있는가?"의 기준으로 보자면 시각화는 아주 어려운 기술은 아니다. 강의 경험상 시각화에서 가장 어려운 점은 "무엇을 할지" 방향을 정하는 것이기 때문이다.


즉, 시각화를 할 때, 1) 데이터가 어떤 내용인지 확인하고 2) (목적에 맞게) 어떤 차트를 쓸지 설정하면 시각화는 금방 생성이 가능하다.


이런 흐름에서 바로 써먹을 만한 기초 시각화를 4가지 차트 유형을 중심으로 살펴보자. *


* 라인차트(시계열)은 다루지 않는다. 시계열 분석은 통계를 포함해 내용이 많이 복잡하기 때문이다.


양을 확인해야 할 때는 막대차트!

막대 차트는 가장 많이 사용되는 차트이다. 즉, 보편적이며 가장 안정적이다. 막대 차트는 "양(amounts)"을 비교할 때 쓰는데 예를 들어 부서 별 성과 비교, 학생 성적 비교, 연도별 성과 비교와 같이 카테고리가 분명할때 양을 나열하고 확인할 때 쓴다.



소속별 성적 데이터셋(임의 데이터)으로 구성한 막대 차트 예시

* 데이터셋은 임의로 제작했다. 추후 파이썬 강좌에서 코드 예시를 보여줄 것이다.

가장 보편적인 차트 유형

일반적으로 세로방향을 사용하지만, 때에 따라 가로방향을 쓰기도 한다(공간 배치 등의 문제...)

축이 바뀌면 카테고리 이름 공간이 확보된다

응용 1) 막대 차트를 사용할때, 농도를 사용해서 비교를 더 명확하게 할 수 있다

값이 클수록 색이 짙어진다

응용 2) 세부 항목별로 내용을 나열해서 보는 것은 어떨까?

카테고리를 다른 색을 써서 나누자!

비율을 볼때는 파이와 트리맵

파이차트는 "양"보다 "비율"을 볼 때, 사용한다. 정확히 말하자면, 전체에서 각 카테고리가 가 얼마나 차지하고 있는지 보여줄 때 사용한다. 예를 들어서 부서별 예산 지출 비율이나, 총 칼로리에서 각 성분이 차지하는 비율 등을 비교할 때 사용할수 있다. 트리맵의 경우 파이차트와 유사하지만, 좀 더 공간을 효율적으로 사용할 수 있다


소속별 성적 데이터셋(임의 데이터)으로 구성한 파이차트

* 데이터셋은 임의로 제작했다. 추후 파이썬 강좌에서 코드 예시를 보여줄 것이다.

파이 차트는 2차원이 기본이다

응용1) 농도를 이용해서 비율 차이를 드러낼 수 있다

공간 효율성이 크다(여백이 많이 필요없다)

응용2) 백분율 표시를 해보면 비율 관계가 더 명료해진다


데이터 간의 관계를 볼때는 산포도+회귀선

산포도는 한 요인이 다른 요인과 어떤 관게인지 확인하는데 유용하다. 산포도를 사용할 경우 많은 수의 데이터 를 한번에 볼 수 있다. 이런 특징으로 인해 다양한 머신러닝 분석(Regression, Clustering)에 활용된다. 예를 들어 소득이 자녀 성적에 미치는 영향이나, 소속별로 어떤 특징을 갖는지 확인할 때(구체적으로 A제품과 B 제품은 각자 어떤 특징을 가질까?) 사용할 수 있다.


붓꽃 데이터로 만든 산포도 예시 *

* 유명한 데이터셋으로 나중에 머신러닝 강의에서 자세히 설명하도록 하겠다

한눈에 상관관계가 관찰된다

응용1) 회귀선을 긋는다면 둘 사이의 관계가 좀 더 뚜렷해진다 *

* 회귀선은 통계적 기법으로 두 요소간의 관계를 수학적으로 정리하는 하나의 선을 말한다

선을 사용하면 좀 더 분명해진다

응용2) 카테고리가 존재한다면 같이 표시해서 데이터를 좀 더 풍부하게 구성 가능하다

그룹별로 확인 가능하다

데이터의 분포를 보려면 히스토그램!

히스토그램은 데이터가 어떻게 펼쳐져 있나 확인하기 위한 차트 유형으로, 바 차트와 유사하지만 보려는 방향은 완벽히 다르다! 데이터 과학(특히 통계!)에서 가장 기초적으로 연습하는 시각화로, 히스토그램을 그리고 나서 어떤 통계적 기법을 적용할지 다양하게 생각할 수 있다. 일반적으로는 이상한 값이나 특이점을 파악할때 사용된다. 예를 들어 한 사람의 몸무게나 혈당치가 부정상적으로 높은 경우, 성적이나 수입이 특이하게 나오는 경우(특정 그룹에서 전체 수익의 80~90%가 나온다든지...)에 사용할 수 있다.


붓꽃 데이터*로 만든 산포도 예시

* 유명한 데이터셋으로 나중에 머신러닝 강의에서 자세히 설명하도록 하겠다

한 눈에 낮은 값 빈도가 크고, 특정 구간이 비어있다는것이 확인된다

응용 1) Bin이라 부르는 구간 간격을 조절해서 데이터의 해상도를 높이거나 낮출 수 있다

극단적으로 세밀하게 그리거나
아주 단순하게 볼 수 있다

응용 2) 카테고리가 있다면 나란히 비교 가능하다

카테고리에 따라 평균치와 분포가 다르다!

아주 간단하게 말했지만, 데이터 시각화에서 사용하는 차트의 종류는 상당히 많은 편이며 그 응용까지 생각하면 시각화 하나로도 수십~수백개의 조합이 가능하다. 차트 하나만 잘 다루더라도 데이터의 많은 부분을 쉽게 파악하고, 효율적으로 전달할 수 있는 강력한 무기가 될 것이다.


다음 시간에는 이번에 다루지 못한 여러 가지 재미있는 시각화와 통계를 좀 더 다뤄보도록 하겠다.



매거진의 이전글 컴퓨터도 책 읽습니다
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari