>백엔드 개발 >파이썬 튜토리얼 >간편한 Seaborn 플롯 선택: 데이터를 효과적으로 시각화하는 방법

간편한 Seaborn 플롯 선택: 데이터를 효과적으로 시각화하는 방법

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-30 13:40:111009검색

데이터 시각화는 데이터를 분석하고 표현하는 가장 강력한 도구 중 하나입니다. Matplotlib을 기반으로 구축된 Python 라이브러리인 Seaborn은 유익하고 다양한 시각화를 생성하기 위한 높은 수준의 인터페이스를 제공합니다. 이 기사는 올바른 Seaborn 플롯을 선택하고 명확성을 위해 사용자 정의하며 일반적인 함정을 피하는 방법을 안내합니다.

올바른 플롯 유형을 선택하는 것이 왜 중요한가요?

선택하는 플롯 유형은 데이터가 통찰력과 정보를 얼마나 효과적으로 표현하는지에 직접적인 영향을 미칩니다.

  • 산점도는 변수 간의 상관관계를 보여줍니다.

  • 히트맵은 대규모 비교를 단순화합니다.

잘못된 플롯 유형을 사용하면 잘못된 해석이 발생할 수 있으며 때로는 잘못된 시각화를 선택했기 때문에 데이터에서 얻은 통찰력이 묻혀서 전혀 공개되지 않는 경우도 있습니다.

Seaborn 플롯 범주 이해

Seaborn 플롯은 관계형, 분포, 범주형의 세 가지 주요 범주로 나뉩니다. 각각 선택하고 사용하는 방법은 다음과 같습니다.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively
출처:https://seaborn.pydata.org/_images/function_overview_8_0.png

1. 관계형 플롯

관계형 도표는 일반적으로 숫자로 표시되는 두 변수 간의 관계를 시각화합니다. Seaborn은 산점도와 선 도표라는 두 가지 주요 관계형 도표를 제공합니다. Therelplot() 함수를 사용하여 이러한 플롯을 만들 수 있습니다.

sns.relplot(
    data=tips,
    x="total_bill", y="tip", hue="smoker",>



<p><img src="https://img.php.cn/upload/article/000/000/000/173294521670198.jpg" alt="Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively"><br>
source: seaborn documentation</p>

<p>Alternatively, you can use the scatterplot() function directly for scatter plots, which produce the same result. For line plots, you can either use relplot() with kind="line" or the more direct lineplot() function.<br>
</p>

<pre class="brush:php;toolbar:false">fmri = sns.load_dataset("fmri")
sns.relplot(data=fmri, x="timepoint", y="signal", kind="line")

또는 다음과 같이 작성할 수도 있습니다.

fmri = sns.load_dataset("fmri")
sns.lineplot(data=fmri, x="timepoint", y="signal")

결과는 여전히 같습니다.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively
출처: seaborn 문서

분산형 차트는 개별 데이터 포인트를 표시하므로 패턴이나 상관 관계를 쉽게 식별할 수 있습니다. 반면, 선 도표는 시간 경과에 따른 추세 또는 카테고리 전반에 걸쳐 추세를 표시하는 데 이상적입니다.

2. 분포도

변수 분포를 이해하는 것은 데이터를 분석하거나 모델링하는 데 있어 중요한 첫 번째 단계입니다. 분포도는 단일 변수의 확산 또는 분산을 나타내도록 설계되었습니다. 이러한 시각화는 다음과 같은 주요 질문을 신속하게 해결할 수 있습니다. 데이터가 어느 범위를 포괄합니까? 그 중심 경향은 무엇인가? 데이터가 특정 방향으로 치우쳐 있나요?

관계형 도표와 마찬가지로 분포도는 displot() 함수를 사용하여 원하는 도표 유형을 선택하는 종류 매개변수를 지정하여 생성할 수 있습니다. 또는 특정 분포 시각화를 위해 histplot(), kdeplot(), ecdfplot() 또는 Rugplot()과 같은 함수를 직접 사용할 수 있습니다.

histplot() 함수는 빈도 분포를 시각화하는 데 탁월합니다.

sns.relplot(
    data=tips,
    x="total_bill", y="tip", hue="smoker",>



<p><img src="https://img.php.cn/upload/article/000/000/000/173294521670198.jpg" alt="Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively"><br>
source: seaborn documentation</p>

<p>Alternatively, you can use the scatterplot() function directly for scatter plots, which produce the same result. For line plots, you can either use relplot() with kind="line" or the more direct lineplot() function.<br>
</p>

<pre class="brush:php;toolbar:false">fmri = sns.load_dataset("fmri")
sns.relplot(data=fmri, x="timepoint", y="signal", kind="line")

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively
출처:seaborn 문서

kdeplot()은 매끄러운 분포 곡선을 표시하는 데 더 적합한 반면, ecdfplot()은 누적 비율을 강조합니다. Rugplot()은 원시 데이터 포인트에 대한 상세한 마커를 추가하여 더 미세한 세부사항으로 다른 시각화를 향상시킵니다.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

Seaborn은 또한 히트맵()과 같은 도구를 사용하여 이변량 분포 시각화를 지원합니다. 히트맵은 상관 행렬을 설명하거나 비교하는 데 특히 효과적입니다.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

3. 범주형 도표

범주형 도표는 범주로 구성된 데이터를 시각화하도록 설계되었습니다. 이러한 플롯을 생성하는 일반적인 접근 방식은 원하는 플롯 유형을 선택하기 위한 종류 매개변수를 지정하는 catplot() 함수를 사용하는 것입니다. 이 플롯은 세 가지 주요 제품군으로 분류됩니다.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively
올바른 유형의 범주형 도표를 선택하는 것은 답변하려는 특정 질문에 따라 다릅니다. 이러한 도표는 범주형 데이터 분석을 위한 다양한 관점을 제공합니다.

- 범주형 산점도
이러한 도표는 범주 내의 개별 데이터 포인트를 표시하여 패턴이나 분포를 식별하는 데 도움이 됩니다. 예로는 Stripplot() 및 swarmplot()이 있습니다.

fmri = sns.load_dataset("fmri")
sns.lineplot(data=fmri, x="timepoint", y="signal")

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively
출처: seaborn 문서

- 범주형 분포도

이 도표는 범주 내의 데이터 분포를 요약하여 변동성, 확산 및 중심 경향에 대한 통찰력을 제공합니다. 예로는 boxplot(), Violinplot() 및 boxenplot()이 있습니다.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

- 범주형 추정 도표

이러한 도표는 집계된 추정치(예: 평균)를 계산하고 변동성 또는 신뢰 구간을 표시하는 오차 막대를 포함합니다. 예로는 barplot(), pointplot() 및 countplot()이 있습니다.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

올바른 Seaborn 플롯을 선택하는 방법

계획을 세우기 전에 다음 질문을 스스로에게 물어보세요.

데이터가 범주형인가요, 숫자형인가요, 아니면 둘 다인가요?

관계, 분포 또는 비교를 탐색 중이신가요?

데이터세트의 크기와 규모는 어떻게 되나요?

데이터를 알면 가장 적절한 시각화 도구를 찾을 수 있습니다. 아래 스키마는 Kaggle에서 가져온 것이며 보유한 데이터 종류에 따라 그래프를 선택하는 방법을 보여줍니다.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively
출처 : 캐글

실제 데이터를 활용하여 이를 실용적으로 만들어 보겠습니다. 공부한 시간, 출석, 학부모 참여, 리소스 액세스, 과외 활동, 수면 시간, 이전 점수, 동기 부여 수준, 인터넷 액세스, 개인 지도 세션, 가족 소득, 교사 품질, 학교와 같은 기능을 포함하는 20개의 열이 포함된 Kaggle의 데이터 세트를 생각해 보세요. 유형, 또래 영향, 신체 활동, 학습 장애, 부모 교육 수준, 집과의 거리, 성별 및 시험 점수.

  1. 데이터 이해 데이터를 이해하기 위해 데이터 세트의 변수 유형을 분석하는 것부터 시작하세요. 숫자 변수는 관계형 또는 분포도에 가장 적합한 반면, 범주형 변수는 그룹화 또는 비교에 적합합니다. 예를 들어, 선 도표를 사용하여 출석에 따른 수학 성적 추세를 분석할 수 있습니다. 마찬가지로, 히스트플롯을 활용하여 수면 시간 분포를 조사하면 대부분의 학생들이 충분한 휴식을 취하고 있는지 확인하는 데 도움이 됩니다.
sns.relplot(
    data=tips,
    x="total_bill", y="tip", hue="smoker",>



<p><img src="https://img.php.cn/upload/article/000/000/000/173294521670198.jpg" alt="Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively"><br>
source: seaborn documentation</p>

<p>Alternatively, you can use the scatterplot() function directly for scatter plots, which produce the same result. For line plots, you can either use relplot() with kind="line" or the more direct lineplot() function.<br>
</p>

<pre class="brush:php;toolbar:false">fmri = sns.load_dataset("fmri")
sns.relplot(data=fmri, x="timepoint", y="signal", kind="line")

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

fmri = sns.load_dataset("fmri")
sns.lineplot(data=fmri, x="timepoint", y="signal")

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

  1. 목표 정의 전달하려는 통찰력이 무엇인지 물어보고 목표를 결정하십시오. 그룹을 비교하고 싶으십니까? 막대 그래프나 상자 그림과 같은 범주형 그림을 선택하세요. 관계 탐구에 관심이 있으십니까? 산점도와 같은 관계형 도표는 훌륭한 선택입니다. 가변성을 이해하고 싶으신가요? histplot과 같은 분포도를 사용하십시오. 예를 들어, 산점도는 두 수치 변수 사이의 관계를 효과적으로 표시하며, 각 점은 관측치를 나타냅니다. 이를 통해 상관 관계, 클러스터 또는 이상값을 쉽게 찾을 수 있습니다. 공부한 시간이 시험 점수에 어떻게 영향을 미치는지 시각화하면 더 많은 공부 시간이 더 높은 점수와 상관관계가 있는지 여부를 알 수 있습니다.
sns.displot(penguins, x="flipper_length_mm", hue="sex", multiple="dodge")

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

  1. 데이터 및 목표에 맞게 플롯 연결 데이터 및 분석 목표에 적합한 플롯을 선택하는 것이 중요합니다. 올바른 시각화를 통해 의미 있는 통찰력을 효과적으로 추출할 수 있습니다. 예를 들어, 선 그래프는 히스토그램에 비해 시간에 따른 추세를 관찰하는 데 더 적합합니다. 잘못된 플롯을 사용하면 중요한 패턴이나 통찰이 모호해져서 풍부한 데이터 세트라도 덜 유용하게 될 수 있습니다. 예를 들어, 막대 그래프는 다양한 부모 참여 수준에 걸쳐 평균 시험 점수를 비교하는 데 이상적입니다. 이 플롯은 범주 전반에 걸쳐 숫자 변수의 평균(또는 기타 요약 통계)을 강조 표시하므로 높은 수준의 비교에 적합합니다.
sns.relplot(
    data=tips,
    x="total_bill", y="tip", hue="smoker",>



<p><img src="https://img.php.cn/upload/article/000/000/000/173294521670198.jpg" alt="Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively"><br>
source: seaborn documentation</p>

<p>Alternatively, you can use the scatterplot() function directly for scatter plots, which produce the same result. For line plots, you can either use relplot() with kind="line" or the more direct lineplot() function.<br>
</p>

<pre class="brush:php;toolbar:false">fmri = sns.load_dataset("fmri")
sns.relplot(data=fmri, x="timepoint", y="signal", kind="line")

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

Seaborn 플롯 사용자 정의를 위한 팁

plt.title(), plt.xlabel() 및 plt.ylabel()과 같은 함수를 사용하여 제목과 레이블을 추가하여 시각화의 명확성을 높입니다. 범주형 차원을 통합하려면 Seaborn의 색상 속성을 활용하세요. 이를 통해 데이터 세트의 특정 열을 기반으로 데이터 포인트를 구별할 수 있습니다. set_palette() 함수를 사용하여 coolwarm, husl 또는 Set2와 같은 팔레트로 색 구성표를 사용자 정의하십시오. 또한 sns.set_theme()을 사용하여 스타일이나 크기를 조정하고 plt.Figure(figsize=(width, height))를 사용하여 그림 크기를 정의하여 데이터 포인트를 차별화합니다.

피해야 할 일반적인 함정

데이터 시각화를 통해 통찰력을 효과적으로 전달하려면 충분한 정보 제공과 플롯의 과밀화 방지 사이의 균형을 유지하는 것이 중요합니다. 과도한 데이터 포인트로 그래프를 오버로드하면 보는 사람에게 부담을 줄 수 있으며, 세부 사항이 충분하지 않으면 혼란을 초래할 수 있습니다. 항상 명확한 축 레이블과 범례를 포함하고 시각화를 통해 강조하려는 핵심 통찰력을 강조하도록 하세요.

또 다른 일반적인 문제는 오해의 소지가 있는 시각화를 만드는 것입니다. 이를 방지하려면 데이터를 나타내기 위해 축의 크기가 적절하게 정확하게 조정되었는지 확인하세요.

Seaborn Plot Selection Made Easy: How to Visualize Your Data Effectively

결론

올바른 Seaborn 플롯을 선택하는 것은 데이터 이해도를 높이고 통찰력을 효과적으로 전달하는 데 중요한 단계입니다. 적절한 시각화를 통해 숨겨져 있을 수 있는 패턴, 관계 및 추세를 찾아낼 수 있습니다. 분포, 관계, 비교 탐색 등 데이터 구조 및 분석 목표에 맞게 플롯 유형을 조정하면 스토리텔링의 명확성과 정확성이 보장됩니다.

데이터 시각화는 과학이자 예술입니다. 새로운 관점을 발견하거나 통찰력을 개선하기 위해 주저하지 말고 다양한 Seaborn 플롯을 실험해 보세요. 연습과 창의성을 통해 Seaborn의 잠재력을 최대한 활용하여 원시 데이터를 매력적인 시각적 내러티브로 변환할 수 있습니다.

위 내용은 간편한 Seaborn 플롯 선택: 데이터를 효과적으로 시각화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:베드로 후크다음 기사:베드로 후크