4가지 차트로 익히는 데이터 시각화 기초
오늘은 이전 시각화 포스트의 연장선으로, 머신러닝/딥러닝 쪽의 복잡한 이야기보다 실전적이고 재미있는 시각화 이야기를 해 보자.
머신러닝/딥러닝 기술이 아무리 유용하다고 해도 데이터를 다룰 때 가장 많이 사용하는 방법은 "시각화"이다. 당장 보고서, 발표자료를 만들거나 급하게 데이터를 확인할 때 시각화 만큼 유용하게 써먹을 수 있는 기술이 드물기 때문이다.
흔히 "논문을 쓰기 전에 데이터만 한달 정도 보고 있어라"라고 말할 정도로 데이터 과학에서 "자료의 이해"는 중요한 역할을 하는데, 이전 글에서 말한 바와 같이 효율적인 데이터 파악이라는 관점에서 시각화는 데이터 과학의 단짝 친구라고 볼 수 있다.
사실, 데이터 시각화를 깊게 파고들면 심오한 부분도 많고 자바 스크립트나 프로세싱, C++등 복잡한 프로그래밍 언어 지식도 많이 사용된다. 하지만, "당장 써먹을 수 있는가?"의 기준으로 보자면 시각화는 아주 어려운 기술은 아니다. 강의 경험상 시각화에서 가장 어려운 점은 "무엇을 할지" 방향을 정하는 것이기 때문이다.
즉, 시각화를 할 때, 1) 데이터가 어떤 내용인지 확인하고 2) (목적에 맞게) 어떤 차트를 쓸지 설정하면 시각화는 금방 생성이 가능하다.
이런 흐름에서 바로 써먹을 만한 기초 시각화를 4가지 차트 유형을 중심으로 살펴보자. *
* 라인차트(시계열)은 다루지 않는다. 시계열 분석은 통계를 포함해 내용이 많이 복잡하기 때문이다.
막대 차트는 가장 많이 사용되는 차트이다. 즉, 보편적이며 가장 안정적이다. 막대 차트는 "양(amounts)"을 비교할 때 쓰는데 예를 들어 부서 별 성과 비교, 학생 성적 비교, 연도별 성과 비교와 같이 카테고리가 분명할때 양을 나열하고 확인할 때 쓴다.
* 데이터셋은 임의로 제작했다. 추후 파이썬 강좌에서 코드 예시를 보여줄 것이다.
일반적으로 세로방향을 사용하지만, 때에 따라 가로방향을 쓰기도 한다(공간 배치 등의 문제...)
응용 1) 막대 차트를 사용할때, 농도를 사용해서 비교를 더 명확하게 할 수 있다
응용 2) 세부 항목별로 내용을 나열해서 보는 것은 어떨까?
파이차트는 "양"보다 "비율"을 볼 때, 사용한다. 정확히 말하자면, 전체에서 각 카테고리가 가 얼마나 차지하고 있는지 보여줄 때 사용한다. 예를 들어서 부서별 예산 지출 비율이나, 총 칼로리에서 각 성분이 차지하는 비율 등을 비교할 때 사용할수 있다. 트리맵의 경우 파이차트와 유사하지만, 좀 더 공간을 효율적으로 사용할 수 있다
* 데이터셋은 임의로 제작했다. 추후 파이썬 강좌에서 코드 예시를 보여줄 것이다.
응용1) 농도를 이용해서 비율 차이를 드러낼 수 있다
응용2) 백분율 표시를 해보면 비율 관계가 더 명료해진다
산포도는 한 요인이 다른 요인과 어떤 관게인지 확인하는데 유용하다. 산포도를 사용할 경우 많은 수의 데이터 를 한번에 볼 수 있다. 이런 특징으로 인해 다양한 머신러닝 분석(Regression, Clustering)에 활용된다. 예를 들어 소득이 자녀 성적에 미치는 영향이나, 소속별로 어떤 특징을 갖는지 확인할 때(구체적으로 A제품과 B 제품은 각자 어떤 특징을 가질까?) 사용할 수 있다.
* 유명한 데이터셋으로 나중에 머신러닝 강의에서 자세히 설명하도록 하겠다
응용1) 회귀선을 긋는다면 둘 사이의 관계가 좀 더 뚜렷해진다 *
* 회귀선은 통계적 기법으로 두 요소간의 관계를 수학적으로 정리하는 하나의 선을 말한다
응용2) 카테고리가 존재한다면 같이 표시해서 데이터를 좀 더 풍부하게 구성 가능하다
히스토그램은 데이터가 어떻게 펼쳐져 있나 확인하기 위한 차트 유형으로, 바 차트와 유사하지만 보려는 방향은 완벽히 다르다! 데이터 과학(특히 통계!)에서 가장 기초적으로 연습하는 시각화로, 히스토그램을 그리고 나서 어떤 통계적 기법을 적용할지 다양하게 생각할 수 있다. 일반적으로는 이상한 값이나 특이점을 파악할때 사용된다. 예를 들어 한 사람의 몸무게나 혈당치가 부정상적으로 높은 경우, 성적이나 수입이 특이하게 나오는 경우(특정 그룹에서 전체 수익의 80~90%가 나온다든지...)에 사용할 수 있다.
* 유명한 데이터셋으로 나중에 머신러닝 강의에서 자세히 설명하도록 하겠다
응용 1) Bin이라 부르는 구간 간격을 조절해서 데이터의 해상도를 높이거나 낮출 수 있다
응용 2) 카테고리가 있다면 나란히 비교 가능하다
아주 간단하게 말했지만, 데이터 시각화에서 사용하는 차트의 종류는 상당히 많은 편이며 그 응용까지 생각하면 시각화 하나로도 수십~수백개의 조합이 가능하다. 차트 하나만 잘 다루더라도 데이터의 많은 부분을 쉽게 파악하고, 효율적으로 전달할 수 있는 강력한 무기가 될 것이다.
다음 시간에는 이번에 다루지 못한 여러 가지 재미있는 시각화와 통계를 좀 더 다뤄보도록 하겠다.