[데이터 시각화] 분포 및 관계에 대한 시각화 (seaborn 라이브러리)
seaborn 라이브러리를 활용하여 다양한 시각화 기법을 구현하는 예시입니다. 히스토그램, 상자 그림, 바이올린 그림, 산점도, 선형 회귀선이 포함된 산점도, 상관계수 히트맵 등을 그리는 방법을 보여줍니다. 각 코드 블록에는 주요 기능과 파라미터에 대한 설명을 코멘트로 달아두었습니다.
1. Seaborn 라이브러리 설치
# seaborn 라이브러리 설치
!pip install seaborn
# seaborn 라이브러리 추가
import seaborn as sns
# 데이터 로드
tipsData = sns.load_dataset('tips')
# 데이터 확인
tipsData
2. 히스토그램 그리기
# 히스토그램 그리기
h1 = sns.histplot(data=tipsData, x='tip', bins=10)
h1.set_xlabel("Tip($)")
# histplot 함수를 사용하여 'tip' 변수의 히스토그램을 그립니다.
# bins 파라미터로 히스토그램의 구간 수를 설정합니다.
# 새로운 변수 'tip_percent' 생성
tipsData['tip_percent'] = (tipsData['tip']/tipsData['total_bill'])*100
h2 = sns.histplot(data=tipsData, x='tip_percent', kde=True, bins=20)
h2.set_xlabel("Tip/Total Bill(%)")
# 'tip_percent' 변수를 생성하여 전체 금액 대비 팁의 비율을 계산합니다.
# kde 파라미터를 True로 설정하여 커널 밀도 추정 곡선을 그립니다.
3. 상자 그림 그리기 (boxplot)
# 상자 그림 그리기
b1 = sns.boxplot(x='sex', y='tip', data=tipsData)
b1.set_xlabel("Sex")
b1.set_ylabel("Tip($)")
# boxplot 함수를 사용하여 성별에 따른 팁의 분포를 상자 그림으로 나타냅니다.
4. 바이올린 그림 그리기 (violinplot)
# 바이올린 그림 그리기
v1 = sns.violinplot(x='sex', y='tip', data=tipsData)
v1.set_xlabel("Sex")
v1.set_ylabel("Tip($)")
# violinplot 함수를 사용하여 성별에 따른 팁의 분포를 바이올린 그림으로 나타냅니다.
5. 산점도 그리기(scatter plot)
*relplot 사용
# 산점도 그리기
s1 = sns.relplot(data=tipsData, x='total_bill', y='tip')
s1.set_xlabels('Total Bill($)')
s1.set_ylabels('Tip($)')
# relplot 함수를 사용하여 전체 금액과 팁 사이의 관계를 산점도로 나타냅니다.
6. 선형 추세선 포함된 산점도
lmplot 함수 활용
# 선형 회귀선이 포함된 산점도 그리기
lm2 = sns.lmplot(data=tipsData, x='total_bill', y='tip', hue='smoker')
lm2.set_xlabels('Total Bill($)')
lm2.set_ylabels('Tip($)')
# lmplot 함수를 사용하여 전체 금액과 팁 사이의 관계를 선형 회귀선과 함께 나타냅니다.
# hue 파라미터를 사용하여 흡연 여부에 따라 다른 색상으로 구분합니다.
7. 상관계수 히트맵 그리기 (heatmap)
corr()함수
# 상관계수 히트맵 그리기
corr = tipsData.corr()
sns.heatmap(data=corr, cmap="YlGnBu", annot=True)
# 데이터프레임의 corr 메서드를 사용하여 변수 간 상관계수를 계산합니다.
# heatmap 함수를 사용하여 상관계수를 히트맵으로 시각화합니다.
# cmap 파라미터로 색상 맵을 설정하고, annot 파라미터를 True로 설정하여 상관계수 값을 그래프에 표시합니다.
seaborn 라이브러리는 데이터 시각화를 위한 유용한 도구입니다. Matplotlib을 기반으로 구축되어 있어 Matplotlib의 기능을 모두 활용할 수 있으면서도, 더욱 아름답고 정보전달력이 높은 그래프를 쉽게 생성할 수 있습니다.
seaborn의 주요 장점
통계 그래픽에 최적화: seaborn은 통계 분석에 특화된 다양한 그래프 유형을 제공
아름다운 기본 스타일
색상 팔레트 지원
복잡한 다변량 데이터 처리
사용 편의성
seaborn 라이브러리를 활용하면 데이터 분석 및 시각화 작업의 생산성과 품질을 크게 향상시킬 수 있습니다. 통계 분석에 특화된 기능, 아름다운 그래프, 사용 편의성 등의 장점을 통해 데이터의 패턴과 인사이트를 효과적으로 발견하고 전달할 수 있습니다. 데이터 분석과 시각화에 관심 있는 분들께 seaborn 라이브러리를 적극 활용해 보시기를 추천드립니다.
공유하기
조회수 : 551