ماژول Seaborn (Seaborn Module)
اینجا با ماژول Seaborn در پایتون آشنا می شویم؛ کتابخانه ای که روی Matplotlib ساخته شده و کمک می کند توزیع داده ها را خیلی راحت و خوشگل روی نمودار ببینیم.
آشنایی با ماژول Seaborn و توزیع ها
Seaborn یک کتابخانه گرافیکی است که روی Matplotlib سوار شده است. یعنی از قدرت Matplotlib استفاده می کند، اما کار با نمودارها را ساده تر و قشنگ تر می کند.
در این بخش از آن برای نمایش توزیع داده ها استفاده می کنیم؛ مخصوصا وقتی آرایه ها را با NumPy ساخته ایم.
اگر قبلا بخش توزیع داده (Data Distribution) را دیده باشی، اینجا ادامه طبیعی همان مبحث است.
نصب ماژول Seaborn با pip
برای استفاده از ماژول Seaborn در پایتون باید آن را با pip نصب کنی.
نصب روی سیستم معمولی
اگر پایتون و pip نصب هستند، این دستور را در ترمینال اجرا کن:
pip install seaborn
نصب داخل Jupyter Notebook
اگر از Jupyter استفاده می کنی، قبل از دستور یک علامت تعجب بگذار:
!pip install seaborn
نکته: علامت ! یعنی دستور را در شل سیستم اجرا کن، نه داخل خود پایتون.
آماده سازی با Matplotlib و Seaborn
برای رسم نمودار، معمولا هم Matplotlib را می آوریم، هم Seaborn را.
ایمپورت کردن Matplotlib
برای استفاده از بخش گرافیکی Matplotlib این دستور را بنویس:
import matplotlib.pyplot as plt
در آموزش Matplotlib می توانی جزئیات بیشتری ببینی.
ایمپورت کردن Seaborn
حالا نوبت خود Seaborn است. معمولا با نام کوتاه sns از آن استفاده می کنیم:
import seaborn as sns
Displot در Seaborn چیست؟
Displot یعنی نمودار توزیع. ورودی آن آرایه است، خروجی یک منحنی یا هیستوگرام است که نشان می دهد هر مقدار چند بار ظاهر شده است.
برای کار با داده های تصادفی نامپای، معمولا از displot استفاده می کنیم تا شکل توزیع را ببینیم.
رسم Displot با هیستوگرام
در ساده ترین حالت، displot یک هیستوگرام و یک منحنی روی آن رسم می کند.
مثال: رسم Displot ساده
در این مثال، توزیع عددهای 0 تا 5 را رسم می کنیم.
import matplotlib.pyplot as plt
import seaborn as sns
sns.displot([0, 1, 2, 3, 4, 5])
plt.show()
خروجی یک هیستوگرام است که ستون ها تعداد تکرار هر عدد را نشان می دهند و روی آن یک منحنی نرم کشیده شده است.
Displot بدون هیستوگرام (فقط KDE)
گاهی فقط منحنی نرم را می خواهیم، بدون ستون های هیستوگرام. اینجا از گزینه kind استفاده می کنیم.
KDE یعنی Kernel Density Estimation؛ یک روش برای حدودی کشیدن شکل توزیع، مثل یک منحنی نرم روی داده ها.
مثال: Displot با kind="kde"
در این کد فقط منحنی KDE روی داده ها نمایش داده می شود.
import matplotlib.pyplot as plt
import seaborn as sns
sns.displot([0, 1, 2, 3, 4, 5], kind="kde")
plt.show()
نکته: در بقیه آموزش های مربوط به توزیع های تصادفی، معمولا از sns.displot(arr, kind="kde") برای نمایش شکل توزیع استفاده می کنیم.
تمرین با ماژول Seaborn و توزیع ها
برای تمرین ماژول Seaborn در پایتون این سه گام را انجام بده:
- یک آرایه ساده در نامپای بساز؛ مثلا عددهای 1 تا 10.
- با displot معمولی توزیع آن را روی نمودار بکش.
- همان آرایه را با kind="kde" رسم کن و تفاوت نمودارها را مقایسه کن.
جمع بندی سریع
- ماژول Seaborn در پایتون روی Matplotlib ساخته شده است.
- با displot می توانی توزیع داده ها را خیلی راحت ببینی.
- حالت پیش فرض displot هیستوگرام به همراه منحنی توزیع است.
- با kind="kde" فقط منحنی KDE نمایش داده می شود.
- برای داده های نامپای، ترکیب NumPy و Seaborn ترکیب بسیار قدرتمندی است.