본문 바로가기
Data Science/Data Analysis

[파이썬으로 하는 데이터 분석] 17. seaborn - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2024. 3. 24.
728x90
반응형

 

seaborn는 보통 sns라는 축약어로 많이 불러와 사용합니다.

seaborn 자체에 기본으로 제공해 주는 데이터는 load_dataset() 함수를 활용해 불러오면 사용할 수 있습니다.

 

우선 seaborn 말고 matplotlib를 사용해 요일(day) 별로 요금(total_bill)을 막대그래프를 그려보면 주말이 평일보다 더 많은 것을 확인할 수 있습니다.

이렇게 이전에는 matplotlib를 사용해 시각화를 했다면 이번에는 seaborn을 사용해 시각화를 해보도록 하겠습니다.

 

seaborn으로 막대그래프를 그릴 때는 barplot() 함수를 사용합니다.

barplot() 함수를 사용할 때는 data 옵션에 그래프를 그릴 때 사용할 데이터 프레임을 넣고, 각 x축과 y축에 해당하는 column을 넣으면 됩니다.

그렇게 그린 막대그래프를 살펴보면 막대 위에 막대기가 있는 것을 확인할 수 있습니다.

여기서 막대기는 분포를 나타내는데 막대기를 삭제하려면 barplot() 함수의 ci 옵션을 None으로 주면 됩니다.

 

relplot() 함수는 관계를 나타내는 시각화 방법으로 산점도 그래프와 유사한 그래프를 나타내는 함수입니다.

사용 방법은 barplot() 함수와 동일하게 data 옵션, 각 x축과 y축 옵션을 지정해 주면 됩니다.

 

seaborn에서 중요하게 사용하는 옵션인 hue 옵션을 살펴보겠습니다.

hue 옵션은 그래프에 색상을 적용하여 hue 옵션으로 지정해 준 column 값을 색상의 차이로 구별해 주는 옵션입니다.

hue 옵션에는 주로 범주형 column을 지정해 줍니다.

반응형

마지막으로 col 옵션그래프 자체를 구별해서 보여주는 옵션입니다.

hue 옵션은 한 그래프 안에서 색상으로 구분해 주는 옵션이라면, col 옵션은 그래프 자체를 구분해 주는 옵션입니다.

col 옵션 역시 hue 옵션과 마찬가지로 범주형 column을 지정해 줍니다.

 

다른 분포 시각화를 살펴보기 위해 load_dataset() 함수를 사용하여 titanic 데이터를 불러옵니다.

 

distplot() 함수는 데이터 값별 분포, 밀도를 나타내는 함수입니다.

distplot() 함수 안에 분포를 살펴볼 데이터의 column을 주면 그래프를 그릴 수 있습니다.

distplot() 함수로 그래프를 그려보면 히스토그램 그래프선 그래프가 같이 나타나는 것을 볼 수 있습니다.

 

barplot() 함수를 사용하여 성별에 따른 tip의 금액을 그래프로 나타낼 수도 있습니다.

boxplot() 함수상자 그림을 나타내는 함수로 범주형(categorical) 변수를 그래프로 나타내는 함수입니다.

boxplot() 함수도 마찬가지로 data, x, y 옵션을 기본으로 지정해 주면 그래프를 그릴 수 있습니다.

x 옵션에 범주형 column을 주면 각 범주형의 값마다 상자 그림을 따로 그려 나타내어 줍니다.

boxplot() 함수에도 hue 옵션을 넣을 수 있습니다.

 

상자 그림은 사분위수를 그래프로 나타낸 것인데, 상자 그림으로 데이터를 시각화하게 되면 이상치를 한눈에 확인할 수 있습니다.

박스는 1 사분위수, 2 사분위수, 3 사분위수로 구성됩니다.

박스 밖의 수염과 이어진 선을 각 최소 범위(Q1 - 1.5 IQR)와 최대 범위(Q3 + 1.5 IQR)를 의미합니다.

그래프 완전 밖의 들을 이상치라고 하는데, 이상치는 각 1 사분위수와 3 사분위수에서 IQR(Q3 - Q1)의 1.5배를 넘어가는 값입니다.

 

heatmap() 함수는 행렬(matrix) 그래프 중 하나로 히트맵 그래프를 그려주는 함수입니다.

히트맵 그래프는 각 변수의 상관계수에 따른 값을 나타내주는 그래프입니다.

상관계수는 변수들의 상관관계를 수치로 나타낸 값입니다.

그래프를 보면 상관계수의 값이 클수록 값이 연하게 나타나는 것을 확인할 수 있습니다.

상관계수의 값 -1 ~ 1 사이의 값을 갖는데 절댓값이 1에 가까울수록 상관관계가 큰 것이라고 할 수 있습니다.

 

heatmap() 함수로 그린 그래프의 각 칸마다 해당 칸의 값을 표시해주고 싶을 때는 annot 옵션을 사용해 주면 됩니다.

annot 옵션을 True로 지정해 주면 히트맵의 각 칸마다 해당 칸의 값을 함께 볼 수 있습니다.

 

heatmap() 함수의 색을 변경할 수도 있는데, 색을 변경할 때는 cmap 옵션을 사용하면 됩니다.

cmap 옵션에 원하는 색상을 지정해 주면 지정해 준 색으로 히트맵을 그릴 수 있습니다.

728x90
반응형