0Pricing
Learn AI with Python · درس

التحليل ثنائي ومتعدد المتغيرات

مخططات التشتت، ومخططات الأزواج، وخرائط الارتباط الحرارية، والإحصاءات المجمعة.

التحليل ثنائي ومتعدد المتغيرات درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

من متغير واحد إلى عدة متغيرات

يدرس التحليل ثنائي المتغيرات العلاقة بين متغيرين، بينما ينظر التحليل متعدد المتغيرات إلى عدة متغيرات في الوقت نفسه.

الهدف هو اكتشاف الميزات التي تتحرك معًا، ورصد التفاعلات، وتحديد المتغيرات التي تتنبأ بالهدف.

مخططات التشتت باستخدام plt.scatter

يرسم مخطط التشتت متغيرين رقميين مقابل أحدهما الآخر؛ وتمثل كل نقطة صفًا واحدًا. وهو يكشف الاتجاهات والعناقيد والقيم الشاذة.

import matplotlib.pyplot as plt
import seaborn as sns

plt.scatter(df["height"], df["weight"], alpha=0.4)
plt.xlabel("Height")
plt.ylabel("Weight")
plt.show()

قراءة مخطط التشتت

ابحثوا عن الاتجاه (الصاعد = علاقة موجبة، والهابط = علاقة سالبة)، والقوة (شريط متقارب مقابل سحابة نقاط متناثرة)، والشكل (خطي مقابل منحني).

أضيفوا hue باستخدام sns.scatterplot لتلوين النقاط حسب فئة وكشف بنية المجموعات.

sns.scatterplot(x="height", y="weight", hue="gender", data=df, alpha=0.5)
plt.show()

الارتباط باستخدام df.corr()

تحسب df.corr() ارتباط بيرسون بين كل زوج من الأعمدة الرقمية، وتكون النتيجة عددًا بين -1 و+1.

  • +1 → علاقة خطية موجبة تامة
  • 0 → لا توجد علاقة خطية
  • -1 → علاقة خطية سالبة تامة
corr = df.corr(numeric_only=True)
print(corr["price"].sort_values(ascending=False))

الخرائط الحرارية للارتباط

تكون مصفوفة الارتباط أسهل قراءة عند عرضها في صورة خريطة حرارية. مرروا annot=True لطباعة القيم داخل كل خلية.

استخدموا خريطة ألوان متباينة (مثل coolwarm) كي تظهر الارتباطات الموجبة والسالبة بألوان مختلفة.

corr = df.corr(numeric_only=True)
sns.heatmap(corr, annot=True, fmt=".2f", cmap="coolwarm", center=0)
plt.show()

اكتشاف التعدد الخطي

عندما يكون الارتباط بين ميزتين مرتفعًا جدًا (مثلًا أكبر من 0.9)، فإنهما تحملان معلومات مكررة. ويُسمى هذا التعدد الخطي، وقد يؤدي إلى زعزعة استقرار النماذج الخطية.

تُبرز الخريطة الحرارية الأزواج التي تحمل معلومات مكررة، كي تتمكنوا من حذف إحدى الميزتين.

corr = df.corr(numeric_only=True).abs()
high = corr[(corr > 0.9) & (corr < 1.0)]
print(high.dropna(how="all"))

الارتباط لا يعني السببية

لا يعني الارتباط القوي بالضرورة أن أحد المتغيرين يسبب الآخر. فقد يكون كلاهما ناتجًا عن متغير ثالث مخفي، أو قد تكون العلاقة مجرد مصادفة.

استخدموا الارتباط لصياغة الفرضيات، ثم تحققوا منها بالاستعانة بمعرفة المجال وتحليل مضبوط.

مخططات الأزواج باستخدام sns.pairplot

ترسم sns.pairplot شبكة من مخططات التشتت لكل زوج من الأعمدة الرقمية، مع مدرجات تكرارية أو مخططات KDE على القطر.

وهي أسرع طريقة لإلقاء نظرة عامة على جميع العلاقات ثنائية المتغيرات دفعة واحدة. حدّدوا عدد الأعمدة في مجموعات البيانات الكبيرة، إذ يزداد حجمها تربيعيًا مع عدد الأعمدة.

sns.pairplot(df[["height", "weight", "age", "income"]], hue="gender")
plt.show()

المخططات الصندوقية المجمعة

لربط متغير رقمي بمتغير فئوي، ضعوا الفئة على المحور x في مخطط صندوقي. وبذلك تقارنون توزيعات المجموعات فورًا.

sns.boxplot(x="city", y="income", data=df)
plt.xticks(rotation=45)
plt.show()

التجميعات حسب المجموعات

تكمل الأرقام ما تعرضه المخططات. إذ تلخّص groupby مع agg عمودًا رقميًا عبر الفئات.

هذا هو التحليل متعدد المتغيرات في صورة جدول؛ إذ يمكنكم مقارنة المتوسطات والوسائط والأعداد جنبًا إلى جنب.

summary = df.groupby("city")["income"].agg(["mean", "median", "count"])
print(summary.sort_values("mean", ascending=False))

المخططات متعددة المتغيرات باستخدام الترميزات

يمكنكم عرض ثلاثة متغيرات أو أكثر في مخطط واحد باستخدام الترميزات المرئية: x وy واللون (hue) والحجم.

يوضح ذلك كيف تتغير العلاقات عبر بُعد ثالث دون إنشاء مخططات منفصلة.

sns.scatterplot(x="height", y="weight", hue="age", size="income", data=df)
plt.show()

فحص سريع: نطاق الارتباط

تشغّلون df.corr() وتجدون قيمة -0.85 بين ميزتين.

مراجعة: التحليل ثنائي ومتعدد المتغيرات

أصبح بإمكانكم الآن استكشاف العلاقات بين المتغيرات:

  • plt.scatter / sns.scatterplot لمتغيرين رقميين
  • df.corr() + sns.heatmap(annot=True) لمصفوفة الارتباط
  • تشير الارتباطات المرتفعة إلى التعدد الخطي (احذفوا الميزات المكررة)
  • sns.pairplot للحصول على نظرة عامة على جميع الأزواج
  • المخططات الصندوقية المجمعة وgroupby().agg() للمقارنة بين المتغيرات الرقمية والفئوية

سنربط بعد ذلك الميزات مباشرةً بالهدف التنبؤي.

الأسئلة الشائعة

هل درس «التحليل ثنائي ومتعدد المتغيرات» مجاني؟

نعم — نص درس «التحليل ثنائي ومتعدد المتغيرات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

ماذا ستتعلم في «التحليل ثنائي ومتعدد المتغيرات»؟

مخططات التشتت، ومخططات الأزواج، وخرائط الارتباط الحرارية، والإحصاءات المجمعة. تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟

لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «التحليل ثنائي ومتعدد المتغيرات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟

نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. سير عمل EDA وتحليل مواصفات البيانات
  2. التحليل أحادي المتغير
  3. التحليل ثنائي ومتعدد المتغيرات
  4. تحليل توزيع السمات والهدف
← العودة إلى Learn AI with Python