همبستگی ها (Correlations)
در این صفحه با همبستگی داده ها در pandas آشنا می شوی. همبستگی (Correlation) یعنی رابطه عددی بین دو ستون عددی. با این مفهوم می توانی بفهمی چه ستون هایی باهم حرکت می کنند.
یافتن همبستگی داده ها در pandas با corr()
یک قابلیت مهم در pandas متد corr() است. این متد برای هر دو ستون عددی، میزان همبستگی آن ها را محاسبه می کند. خروجی آن یک جدول است که سطر و ستونش نام ستون های عددی هستند.
در مثال منبع، داده ها از فایل data.csv خوانده شده اند. سپس روی DataFrame، متد corr() اجرا شده است. DataFrame یعنی جدول داده ها در pandas؛ مثل یک جدول اکسل داخل کد.
df.corr()
خروجی این دستور، یک ماتریس همبستگی است. هر عدد در این جدول نشان می دهد رابطه بین دو ستون چقدر قوی است؛ مقدار عددی بین منفی یک تا مثبت یک قرار می گیرد.
نکته: متد corr() ستون های غیر عددی را نادیده می گیرد. یعنی فقط ستون های عددی مثل مدت تمرین و کالری را بررسی می کند.
درک اعداد همبستگی در جدول corr()
اعداد همبستگی بین منفی یک تا مثبت یک هستند. مقدار 1 یعنی همبستگی کامل و مستقیم؛ هر وقت ستون اول بالا می رود، ستون دوم هم بالا می رود. مقدار -1 یعنی همبستگی کامل اما برعکس؛ یکی بالا می رود، دیگری پایین می آید.
عدد نزدیک 0.9 نشان دهنده رابطه بسیار قوی است. اگر یکی زیاد شود، دیگری هم معمولاً زیاد می شود. عدد نزدیک -0.9 هم قوی است، اما در جهت مخالف تغییر می کند.
عدد نزدیک 0.2 یعنی رابطه ضعیف است. اگر یکی بالا برود، لزوماً دیگری تغییری قابل پیش بینی ندارد. در متن منبع گفته شده که معمولاً از قدر مطلق 0.6 به بالا را همبستگی خوب می دانند.
همبستگی کامل: ستون با خودش
در جدول مثال، مقدار همبستگی «Duration» با خودش 1.000000 است. این طبیعی است؛ هر ستون با خودش همیشه همبستگی کامل دارد. روی قطر اصلی ماتریس همیشه عدد یک می بینی.
همبستگی خوب: مدت تمرین و کالری
بین ستون «Duration» و «Calories» مقدار 0.922721 دیده می شود. این یعنی همبستگی خیلی قوی بین مدت تمرین و کالری سوزانده شده وجود دارد. هرچه تمرین طولانی تر باشد، معمولاً کالری بیشتری سوزانده می شود.
برعکس هم درست است؛ اگر کالری زیادی سوزانده شده، احتمالاً تمرین طولانی بوده است. بنابراین این جفت ستون برای پیش بینی و مدل سازی بسیار مفید است.
همبستگی ضعیف: مدت تمرین و حداکثر نبض
بین ستون «Duration» و «Maxpulse» مقدار 0.009403 دیده می شود. این عدد خیلی نزدیک صفر است؛ یعنی تقریباً رابطه ای وجود ندارد. از روی مدت تمرین، حداکثر نبض قابل پیش بینی نیست.
برعکس هم همین است؛ از روی حداکثر نبض هم نمی توان مدت تمرین را حدس زد. این جفت ستون برای پیش بینی یکدیگر مناسب نیستند.
گام های عملی برای کار با همبستگی ها
- دیتاست خودت را در یک DataFrame آماده کن؛ مثلاً از CSV.
- ستون های عددی را شناسایی کن؛ مثل مدت، نبض، کالری.
- دستور
df.corr()را اجرا کن تا جدول همبستگی ها ساخته شود. - اعداد نزدیک یک یا منفی یک را پیدا کن و روی آن ها تمرکز کن.
- برای تحلیل بیشتر، سراغ نمودارگیری در pandas برو و این روابط را روی نمودار ببین.
اگر می خواهی روند پاک سازی قبل از تحلیل درست انجام شود، بخش پاک سازی داده را هم مرور کن. بعد از داده تمیز، همبستگی ها معنی دارتر می شوند.
برای مرور دوباره، می توانی به همین صفحه همبستگی داده ها در pandas برگردی و مثال ها را کنار کد خودت مقایسه کنی.
جمع بندی سریع
- متد
corr()جدول همبستگی بین ستون های عددی را می دهد. - اعداد همبستگی بین منفی یک تا مثبت یک قرار می گیرند.
- عدد نزدیک یک یا منفی یک یعنی رابطه قوی بین دو ستون.
- عدد نزدیک صفر یعنی رابطه ضعیف و غیرقابل پیش بینی است.
- همبستگی داده ها در pandas کمک می کند ستون های مهم تحلیل را بشناسی.