3. 데이터 시각화
목차
- Step 1. seaborn의 기본 시각화
- Step 2. 산포도, 히스토그램
- Step 3. 바이올린, 페어 그림 등
오늘은 데이터 시각화에 대해서 공부하는 시간이다. 마찬가지로 iris 데이터를 이용하여 실습을 할 것이다.
1 |
|
1 |
|
현재 컬럼명이 복잡하기 때문에 조금 더 간단한 컬럼명으로 바꿔줘야겠다
1 |
|
컬럼명이 바뀐 것을 확인할 수 있다.
1 |
|
이번엔 특정 컬럼에서 존재하는 데이터의 개수를 확인을 해보자. species에 존재하는 값들은 범주형 데이터이기에 해당 범주당 데이터가 몇개 존재하는지 확인이 가능하다
1 |
|
자 그럼 이제 본격적으로 해당 데이터셋을 이용하여 시각화를 해보자!
Step 1. seaborn의 기본 시각화
파이썬 시각화 library 중 가장 많이 사용되는 seaborn을 사용할 것이다.
데이터 분석에서 수치, 통계치를 통한 분석도 중요하나 시각화를 이용하면 더 쉽게 해당 데이터의 전체적인 개요를 확인이 가능하다.
1 |
|
히스토그램
시각화하면 가장 먼저 떠오르는 히스토그램을 그려보자
1 |
|
구간의 개수를 보면 총 8개로 기본 셋팅이 되어있음을 확인이 가능하다. 이런 구간을 bin 이라고 지칭하며 bin size에 따라 히스토그램의 그림을 다양한 각도에서 해석이 가능하다
1 |
|
이렇듯 구간의 개수만 늘렸을 뿐인데도 그림의 모양이 달라졌음을 확인이 가능하다. 이렇듯 bin의 개수를 정하는 문제는 중요하기에 공식을 이용하여 설정하는 방법도 존재한다.
1 |
|
이번엔 matplotlib라는 시각화 library를 이용하여 그림을 그려보자
1 |
|
이전의 그림과 달리 크기가 달라짐을 확인 할 수 있다. 이번엔 밀도 그래프를 그려보자
1 |
|
이번엔 밀도 그래프와 히스토그램을 같이 그려보자
1 |
|
그럼 위 네 개의 그래프를 한 화면에 담을 수 없을까? 당연히 할 수 있다. subplots 이라는 함수를 이용해보자
1 |
|
이번엔 각각 다른 열에 대해서 그림을 분석해보자
1 |
|
위 그림은 전체 데이터에 관련된 그래프이기에 각 species 별 그래프 분포를 확인하여 어떤 species가 특정 범위에 몰려있는지 확인해보자
1 |
|
versicolor와 virginica는 비슷한 길이에 분포하지만, setosa는 비교적 작음을 확인할 수 있다.
좀 더 직관적으로 이해하기 위해 이번엔 상자 그림을 그려서 비교를 해보자.
1 |
|
Step 2. 산점도, 히스토그램
이번엔 산점도를 이용하여 length와 width간의 관계를 확인해보자
1 |
|
그림의 결과 length와 width간의 선형관계가 존재함을 확인 할 수 있다. 이번엔 각 종의 범주 별로 구분하여 그려보자
1 |
|
setosa는 완전히 구별이 되나 versicolor와 virginica는 약간 겹쳐서 뚜렷한 구별이 안된다.
그렇담 각 범주 별로 회귀 추정선(regression line)을 그려서 같은 추세를 띄는지 확인을 해보자
1 |
|
주황과 초록이 구분이 잘 안갔지만 회귀선으로 확인하니 다른 기울기를 가졌음을 알 수 있었다.
이번엔 산점도와 히스토그램을 동시에 그릴 수 있는 joinplot() 함수를 사용해보자
1 |
|
산점도와 밀도함수 또한 한 그림에 그릴 수 있다.
1 |
|
Step 3. Swarm, Strip, Correlation plot
지금부터는 전통적인 그림보단 조금 멋진 그림들을 그려보자.
swarm plot
1 |
|
1 |
|
1 |
|