هیستوگرام و نمودار جعبهای
رسم هیستوگرام برای توزیع داده و نمودار جعبهای برای خلاصه توزیع و تشخیص داده پرت با matplotlib
هیستوگرام (Histogram) چیست؟
هیستوگرام توزیع یک متغیر عددی را نشان میدهد: محور افقی به بازههای مقدار (bin) تقسیم میشود و ارتفاع هر ستون، تعداد دادههای آن بازه است. با هیستوگرام میبینید: دادهها کجا متمرکزند؟ متقارناند یا کج؟ داده پرت کجاست؟
plt.hist(scores, bins=10) # ۱۰ بازه
plt.xlabel("نمره")
plt.ylabel("تعداد دانشجو")
انتخاب تعداد بازه (bins)
- bins کم: جزئیات از دست میرود (شکل مربعی)
- bins زیاد: نویزی و پر از شکاف میشود
- قاعده سرانگشتی: بین ۵ تا ۲۰ بازه؛ با آزمونوخطا بهترین را پیدا کنید
هیستوگرام ≠ نمودار میلهای!
| ویژگی | هیستوگرام | میلهای |
|---|---|---|
| داده | عددی پیوسته | دستهای |
| محور x | بازههای عددی | دستههای مجزا |
| فاصله میلهها | بدون فاصله (پیوسته) | با فاصله |
| ترتیب | معنادار (عددی) | دلخواه |
نمودار جعبهای (Box Plot)
نمودار جعبهای، کل توزیع را در یک شکل خلاصه میکند:
- جعبه: از Q1 تا Q3 (۵۰٪ دادههای وسط؛ یعنی IQR)
- خط وسط جعبه: میانه
- سبیلها (Whiskers): تا آخرین داده داخل محدوده Q1−1.5×IQR تا Q3+1.5×IQR
- نقاط بیرون: دادههای پرت!
پس جعبهای هم توزیع را نشان میدهد و هم داده پرت را در یک نگاه لو میدهد.
plt.boxplot([class_a, class_b], labels=["کلاس A", "کلاس B"])
مقایسه چند گروه
قوت اصلی جعبهای، مقایسه توزیع چند گروه کنار هم است: مثلاً حقوق چهار دپارتمان. میانهها، پراکندگیها و پرتهای هر گروه فوراً مقایسه میشوند.
کدام را انتخاب کنیم؟
| هدف | نمودار |
|---|---|
| شکل کامل توزیع یک متغیر | هیستوگرام |
| خلاصه فشرده + داده پرت | جعبهای |
| مقایسه توزیع چند گروه | چند جعبهای کنار هم |
نکته حرفهای: در گزارشها، جعبهای و هیستوگرام را مکمل هم ببینید؛ اول با جعبهای مقایسه کلی کنید، بعد برای گروههای جالب، هیستوگرام دقیق بکشید.
جمعبندی
- هیستوگرام شکل توزیع (تمرکز، تقارن، کشیدگی) را نشان میدهد
- تعداد bins مناسب، بین ۵ تا ۲۰ با آزمایش
- جعبهای = خلاصه پنجعددی + نمایش داده پرت
- برای مقایسه چند گروه، چند جعبهای کنار هم بهترین است
این مبحث بخشی از دوره آموزش کامل علم داده است.