แผนที่ความหนาแน่น 2 มิติด้วย KDE

Visualize

แผนที่ความหนาแน่น 2 มิติด้วย KDE

Created: Last updated: Read time: 1 min

seaborn.kdeplot สามารถวาดความหนาแน่นของตัวแปรสองมิติเป็นเส้นชั้นความสูงหรือพื้นที่ระบายสี เหมาะเมื่อสแคตเตอร์มีจุดทับกันมาก

import seaborn as sns
import matplotlib.pyplot as plt

penguins = sns.load_dataset("penguins").dropna(subset=["bill_length_mm", "bill_depth_mm"])

fig, ax = plt.subplots(figsize=(5.5, 4.5))
sns.kdeplot(
    data=penguins,
    x="bill_length_mm",
    y="bill_depth_mm",
    hue="species",
    fill=True,
    thresh=0.05,
    levels=6,
    alpha=0.6,
    ax=ax,
)

ax.set_xlabel("ความยาวจะงอยปาก (มม.)")
ax.set_ylabel("ความลึกจะงอยปาก (มม.)")
ax.set_title("แผนที่ KDE สองมิติแยกตามสายพันธุ์เพนกวิน")
ax.grid(alpha=0.2)

fig.tight_layout()

plt.show()

แผนที่ KDE 2 มิติของเพนกวิน

วิธีอ่าน #

  • บริเวณที่เส้นชั้นความสูงถี่หรือสีเข้มคือที่ที่ข้อมูลหนาแน่น
  • ปรับ thresh เพื่อตัดเส้นที่มีความหนาแน่นต่ำออก ลดความรกของกราฟ
  • ถ้าข้อมูลมีจำนวนมาก อาจต้องสุ่มบางส่วนหรือปรับ bw_adjust เพื่อลดภาระการคำนวณ