본문 바로가기
[업무 지식]/Seaborn

[jointplot] Joint kernel density estimate

by 에디터 윤슬 2024. 11. 13.

import seaborn as sns
sns.set_theme(style="ticks")

# Load the penguins dataset
penguins = sns.load_dataset("penguins")
penguins

데이터셋

  • Seaborn에 내장된 펭귄 데이터셋을 불러옵니다. 이 데이터셋은 세 종류의 펭귄에 대한 여러 신체 측정값을 포함하고 있습니다.
    • 주요 변수:
      • species: 펭귄의 종 (Adelie, Chinstrap, Gentoo).
      • island: 펭귄이 관찰된 섬.
      • bill_length_mm: 부리의 길이 (mm).
      • bill_depth_mm: 부리의 깊이 (mm).
      • flipper_length_mm: 날개 길이 (mm).
      • body_mass_g: 몸무게 (g).
      • sex: 성별.

python

  • 커널 밀도 추정(KDE) 기반 JointPlot 생성
# Show the joint distribution using kernel density estimation
g = sns.jointplot(
    data=penguins,
    x="bill_length_mm", y="bill_depth_mm", hue="species",
    kind="kde",
)


sns.jointplot(): 두 변수 간의 관계를 시각화하는 플롯입니다. 여기서는 x="bill_length_mm"와 y="bill_depth_mm"를 사용하여 부리 길이와 부리 깊이 간의 관계를 시각화합니다.
hue="species": 펭귄의 종(species)에 따라 색상을 다르게 지정하여 각 종별로 분포를 구분합니다.
kind="kde": 커널 밀도 추정(KDE)을 사용하여 두 변수 간의 분포를 부드러운 곡선으로 시각화합니다. KDE는 데이터를 매끄럽게 표현해주는 방법으로, 히스토그램보다 부드러운 분포를 보여줍니다.

 

다양한 사례

  • 생물학 연구에서 종별 신체 특징 분석:
    • 생물학자들은 다양한 동물 종에 대해 신체 측정값을 분석할 때, 서로 다른 신체 특징 간의 관계를 분석할 수 있습니다. 예를 들어, 새들의 날개 길이와 몸무게 간의 관계를 분석하거나, 물고기의 지느러미 길이와 체중 간의 관계를 분석할 수 있습니다.
    • 이 경우, 각 종별로 다른 색상을 사용하여 시각적으로 구분할 수 있으며, KDE 플롯을 통해 각 종별로 어떻게 분포가 다른지 확인할 수 있습니다.
  • 환경 연구에서 생물 다양성 분석:
    • 환경 연구에서는 특정 지역에서 발견된 여러 생물종에 대해 신체 특성을 비교할 수 있습니다. 예를 들어, 특정 지역에서 발견된 나무들의 높이와 둘레 사이의 관계를 분석하거나, 특정 지역에서 서식하는 포유류들의 체중과 발 크기 사이의 관계를 분석할 수 있습니다.
    • 이러한 경우에도 KDE 플롯을 사용하여 각 생물종 또는 그룹별로 신체 특성 간의 분포 차이를 시각적으로 표현할 수 있습니다.
  • 동물원이나 보호구역에서 동물 관리 및 연구:
    • 동물원이나 보호구역에서 동물들의 건강 상태나 성장 패턴을 모니터링하는 연구에서도 유사한 방식으로 데이터를 시각화할 수 있습니다. 예를 들어, 동물들의 나이에 따른 체중 변화나 사육 환경에 따른 신체 특성 변화를 분석할 때 유용하게 사용할 수 있습니다.