그래프와 시각화 1편

참고: 여기서 사용하는 코드는 조엘 그루스(Joel Grus)의 밑다닥부터 시작하는 데이터 과학 3장에 사용된 소스코드의 일부를 기반으로 작성되었다.

데이터를 탐색하거나 데이터로 부터 얻은 정보를 전달할 때, 시각화를 이용하면 매우 효율적이다. 파이썬을 이용하여 아래 네 가지 시각화 기술을 설명한다.

막대 그래프

막대 그래프는 범주별로 도수, 횟수, 퍼센트 등의 크기만큼 막대를 그리는 그래프이다. 범주별 미세한 차이를 명확하게 전달할 수 있는 그래프이다.

막대 그래프 예제

영화별 아카데미 수상 횟수가 다음과 같다.

영화 제목 Annie Hall Ben-Hur Casablanca Gandhi West Side Story
수상 횟수 5 11 3 8 10

위 표를 막대 그래프로 그리면 다음과 같다.

막대 그래프 유의사항

축을 지정할 때 조심하지 않으면 오해를 불러일으킬 수 있다.

다음 예제는 2017년과 2018년 사람들이 데이터 과학에 대해 언급하는 것을 경험한 횟수를 표로 담고 있다.

연도 2017 2018
횟수 500 505

y축의 시작을 499로 잡는 경우

y축의 시작을 0으로 잡는 경우

히스토그램

히스토그램은 막대 그래프의 한 종류이며, 양적 데이터를 범주로 사용할 때 유용하다. 예를 들어, 무게, 길이, 시간, 점수 등 숫자의 범위에 따라 나뉘어진 데이터를 막대 그래프로 보여줄 때 사용한다.

양적 데이터들의 연속성을 반영하기 위해 막대 그래프들 사이의 간극이 없도록 그린다. 따라서 정해진 구간에 해당되는 항목의 개수나 빈도수를 보여주어 값의 분포를 쉽게 관찰할 수 있게 해준다.

히스토그램 예제

학생들의 점수가 다음과 같다.

83, 95, 91, 87, 70, 0, 85, 82, 100, 67, 73, 77, 0

점수를 십분위수(10점 단위로 구분)로 구분하면 아래 표를 얻는다.

점수 구간(십분위수) 0-9 10-19 20-29 30-39 40-49 50-59 60-69 70-79 80-89 90-100
학생 수 2 0 0 0 0 0 1 3 4 3

위 데이터를 히스토그램으로 나타내면 다음과 같다.

선 그래프

선 그래프는 막대 그래프의 상단 중심부를 선분으로 연결하여 범주별 변화를 비교하는 그래프이다. 시계열 데이터에 대한 정보를 전달할 때 유용하다.

선 그래프 예제

1950년 부터 10년 주기로 미국 국내총생산(GDP)를 정리한 표가 다음과 같다. 단위는 10억달러이다.

연도 1950 1960 1970 1980 1990 2000 2010
GDP 300.2 543.3 1075.9 2862.5 5979.6 10289.7 14958.3

위 데이터를 선 그래프로 나타내면 다음과 같다.

산점도

산점도는 두 변수 간의 연관 관계를 2차원 평면 상에서 점으로 찍어 보여 주는 그래프이다.

산점도 예제

어떤 웹사이트 회원의 친구 수와 하룻동안의 사이트 이용시간 사이의 연관 관계를 담은 표가 다음과 같다.

친구 수 70 65 72 63 71 64 60 64 67
이용 시간 175 170 205 120 220 130 105 145 190
사용자 라벨 a b c d e f g h i

위 데이터를 선 그래프로 나타내면 다음과 같다.

산점도 유의사항

막대 그래프의 경우처럼 축을 지정할 때 조심하지 않으면 오해를 불러일으킬 수 있다.

예를 들어, 아래 표는 다섯 명의 1차, 2차 테스트 점수를 보여준다.

1차 테스트 99 90 85 97 80
2차 테스트 100 85 60 90 70

축 지정

양 축의 척도(scale)가 다른 경우

결론: 1차 테스트, 2차 테스트 점수가 별 변동이 없는 것으로 보인다.

양 축의 척도가 동일한 경우

결론: 1차 테스트 점수가 높은 친구가 2차 테스트에서 보다 높은 점수를 얻었음을 알 수 있다.