0Pricing
Learn AI with Python · درس

التحليل أحادي المتغير

مخططات التوزيع، والمدرجات التكرارية، والمخططات الصندوقية، ومخططات العد لفهم السمات الفردية.

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

ما التحليل أحادي المتغير؟

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

يعتمد اختيار المخطط المناسب على نوع المتغير:

  • رقمي → مدرج تكراري أو KDE أو مخطط صندوقي أو مخطط كمان
  • فئوي → مخطط العد (مخطط أعمدة لتكرارات الفئات)

إعداد مكتبات الرسم

نستخدم Matplotlib (plt) وSeaborn (sns). تعتمد Seaborn على Matplotlib وتوفر إعدادات افتراضية أفضل للمخططات الإحصائية.

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

sns.set_theme(style="whitegrid")
df = pd.read_csv("data.csv")

المدرجات التكرارية باستخدام plt.hist

يقسم المدرج التكراري القيم الرقمية إلى فواصل، ثم يحصي عدد القيم الواقعة في كل منها. وهو يكشف الشكل العام للتوزيع.

تتحكم الوسيطة bins في مستوى الدقة؛ إذ يؤدي قِلة عدد الفواصل إلى إخفاء البنية، بينما يضيف كثرتها ضوضاء.

plt.hist(df["age"], bins=30, edgecolor="black")
plt.xlabel("Age")
plt.ylabel("Count")
plt.title("Age Distribution")
plt.show()

مخططات KDE — كثافة ملساء

يرسم تقدير كثافة النواة (sns.kdeplot) منحنى أملسًا يقرّب التوزيع، وقد يكون أسهل قراءة من أعمدة المدرج التكراري المتعرجة.

اجمعوا بين المخططين باستخدام sns.histplot(..., kde=True) لإضافة المنحنى الأملس فوق الأعمدة.

sns.kdeplot(df["age"], fill=True)
plt.show()

sns.histplot(df["age"], bins=30, kde=True)
plt.show()

اكتشاف الالتواء

يقيس الالتواء عدم التماثل. ويُسمى الامتداد الطويل نحو اليمين التواءً يمينيًا (موجبًا)، بينما يُسمى الامتداد الطويل نحو اليسار التواءً يساريًا (سالبًا).

تكون قيم الدخل والأسعار والأعداد ملتوية إلى اليمين عادةً. ويمكنكم قياس ذلك كميًا باستخدام df[col].skew()؛ إذ تشير القيم البعيدة كثيرًا عن 0 إلى وجود التواء.

print(df["income"].skew())   # e.g. 2.3 -> strong right skew
sns.histplot(df["income"], bins=40, kde=True)
plt.show()

اكتشاف التوزيع ثنائي المنوال

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

تجعل مخططات KDE ثنائية المنوال واضحة؛ فابحثوا عن حدبتين. وهذا مؤشر على أن متغيرًا فئويًا مخفيًا قد يفسر هذا الانقسام.

sns.kdeplot(df["price"], fill=True)
plt.title("Two peaks suggest two subpopulations")
plt.show()

المخططات الصندوقية باستخدام sns.boxplot

يعرض المخطط الصندوقي الوسيط (الخط الأوسط)، والمدى الربيعي (IQR، وهو الصندوق)، والشاربين الممتدين حتى نحو 1.5x IQR. وتُحدَّد النقاط الواقعة خارج الشاربين باعتبارها قيمًا شاذة.

sns.boxplot(x=df["income"])
plt.title("Income — box plot")
plt.show()

القيم الشاذة وقاعدة IQR

يستخدم المخطط الصندوقي قاعدة IQR: تكون النقطة قيمة شاذة إذا وقعت أسفل Q1 - 1.5*IQR أو أعلى Q3 + 1.5*IQR.

يمكنكم حساب الحدود بأنفسكم لتصفية القيم المتطرفة أو وضع حد أقصى لها.

q1 = df["income"].quantile(0.25)
q3 = df["income"].quantile(0.75)
iqr = q3 - q1
low, high = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df["income"] < low) | (df["income"] > high)]
print(len(outliers), "outliers")

مخططات الكمان باستخدام sns.violinplot

يجمع مخطط الكمان بين مخطط صندوقي وتقدير KDE معكوس. ويشير العرض عند كل ارتفاع إلى الكثافة، ولذلك يمكنكم رؤية الشكل والإحصاءات الملخصة في الوقت نفسه.

تُعد مخططات الكمان مفيدة جدًا في إظهار الالتواء أو التوزيع ثنائي المنوال الذي قد يخفيه المخطط الصندوقي العادي.

sns.violinplot(x=df["age"])
plt.title("Age — violin plot")
plt.show()

مخططات العد للمتغيرات الفئوية

استخدموا sns.countplot مع الأعمدة الفئوية؛ فهو مخطط أعمدة يوضح تكرارات الفئات، ويمثل الصورة المرئية للناتج الذي توفره value_counts().

رتّبوا الأعمدة حسب التكرار لتحسين سهولة القراءة باستخدام الوسيطة order.

order = df["city"].value_counts().index
sns.countplot(y="city", data=df, order=order)
plt.title("Records per city")
plt.show()

اختيار المخطط أحادي المتغير المناسب

دليل سريع لاتخاذ القرار:

  • شكل عمود رقمي → مدرج تكراري أو KDE
  • القيم الشاذة والربيعات → مخطط صندوقي
  • الشكل والملخص معًا → مخطط كمان
  • تكرارات الفئات → مخطط عد

فحص سريع: اختيار المخطط

تريدون رؤية الوسيط والربيعات والقيم الشاذة لعمود رقمي واحد.

مراجعة: التحليل أحادي المتغير

تعلمتم فحص متغير واحد في كل مرة:

  • plt.hist وsns.kdeplot لفهم شكل التوزيع
  • .skew() لقياس عدم التماثل كميًا، وحدبات KDE لاكتشاف التوزيع ثنائي المنوال
  • sns.boxplot وقاعدة IQR لاكتشاف القيم الشاذة
  • sns.violinplot لرؤية الشكل والملخص معًا
  • sns.countplot لمعرفة تكرارات البيانات الفئوية

سننتقل بعد ذلك إلى دراسة العلاقات بين متغيرين أو أكثر.

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

هل درس «التحليل أحادي المتغير» مجاني؟

نعم — نص درس «التحليل أحادي المتغير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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 منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

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

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

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

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

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

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