ابسلون لحلول التعلم والذكاء الاصطناعي
اسأل الذكاء
English
سجّل الآن

المستوى 1 · محترف · CDSP

محترف معتمد في علم البيانات

منظومة علم البيانات كاملة: Python و SQL والإحصاء والتحليل الاستكشافي والتصوير والمعالجة وتعلّم الآلة من البداية للنهاية.

108 ساعة 10 درسًا يؤدّي إلى: CDSE
تقدّمك 0 / 10

01الأساسيات

أساسيات الذكاء الاصطناعي وعلم البيانات

قبل أي كود: ما هو علم البيانات فعليًا، وكيف يرتبط الذكاء الاصطناعي وتعلّم الآلة والتعلّم العميق، وما سير العمل الذي يتبعه كل مشروع.

8 دقيقة قراءة

الصورة الكبرى

الذكاء الاصطناعي (AI) هو الهدف العام لجعل الآلات تؤدي مهام تتطلب عادةً ذكاءً بشريًا. وتعلّم الآلة (ML) هو الطريق الأساسي لتحقيق ذلك اليوم: فبدلًا من كتابة القواعد يدويًا، نترك البرنامج يتعلّم الأنماط من البيانات. أما التعلّم العميق (DL) فهو فرع قوي من تعلّم الآلة يستخدم شبكات عصبية متعدّدة الطبقات. وعلم البيانات هو الحرفة الأوسع لتحويل البيانات الخام إلى قرارات — ويجمع بين الإحصاء والبرمجة وتعلّم الآلة معًا.

ثلاثة أنواع من تعلّم الآلة

  • التعلّم المُوجَّه — لديك أمثلة موسومة (مدخل ← إجابة معروفة) ويتعلّم النموذج التنبّؤ بالإجابة. مثال: التنبّؤ بسعر منزل من خصائصه.
  • التعلّم غير المُوجَّه — بلا وسوم؛ يكتشف النموذج البنية بنفسه، مثل تجميع العملاء المتشابهين (التجميع العنقودي).
  • التعلّم المعزّز — يتعلّم الوكيل بالتجربة والمكافأة، مثل برنامج يتعلّم لعب لعبة.

سير عمل علم البيانات

تتبع كل المشاريع تقريبًا الحلقة نفسها. معرفتها تبقيك على المسار مهما زاد تعقيد المشكلة:

  • ١. تحديد السؤال ومقياس النجاح مع أصحاب المصلحة.
  • ٢. جمع البيانات وتخزينها (ملفات، قواعد بيانات، واجهات برمجية).
  • ٣. تنظيفها واستكشافها (EDA) — فهم ما لديك فعلًا.
  • ٤. تجهيز الخصائص وتقسيم البيانات إلى تدريب واختبار.
  • ٥. تدريب النماذج وتقييمها وضبطها.
  • ٦. نشر النموذج المختار ومراقبته في بيئة التشغيل.
اختبر نفسك يريد بنك تمييز المعاملات الاحتيالية، مستخدمًا ملايين المعاملات السابقة الموسومة مسبقًا كاحتيال/غير احتيال. أي نوع من تعلّم الآلة هذا؟

التعلّم المُوجَّه (وتحديدًا تصنيف ثنائي) — فالوسوم التاريخية هي إشارة الإشراف التي يتعلّم النموذج إعادة إنتاجها.

أين تقع الأدوات

في هذا البرنامج ستستخدم Python كلغة، و SQL لجلب البيانات من قواعد البيانات، و NumPy/Pandas لاستكشافها، و Matplotlib/Plotly لتصويرها، و scikit-learn لبناء النماذج، و Streamlit لنشرها. وكل موضوع لاحق في هذا الدليل هو محطة على ذلك المسار.

الخلاصات الأساسية

  • الذكاء الاصطناعي ⊃ تعلّم الآلة ⊃ التعلّم العميق؛ وعلم البيانات يلفّ الإحصاء والبرمجة وتعلّم الآلة حول سؤال عملي.
  • المُوجَّه = بيانات موسومة؛ غير المُوجَّه = اكتشاف البنية؛ المعزّز = التعلّم بالمكافأة.
  • كل مشروع يتبع الحلقة ذاتها: سؤال ← بيانات ← استكشاف ← خصائص ← نموذج ← نشر.

02البرمجة

البرمجة بلغة Python

Python هي لغة علم البيانات لأنها سهلة القراءة ولديها مكتبة لكل شيء. أتقِن نواةً صغيرة وستنجز 90% من العمل.

12 دقيقة قراءة

لماذا Python

تُقرأ Python كأنها الإنجليزية تقريبًا، وتعمل في كل مكان، ولديها أغنى منظومة للبيانات (NumPy و Pandas و scikit-learn و TensorFlow). لست بحاجة لأن تكون مهندس برمجيات — بل إلى إتقان مجموعة مركّزة من اللبنات.

المتغيّرات وأنواع البيانات الأساسية

المتغيّر هو اسم يشير إلى قيمة، وتستنتج Python النوع تلقائيًا. الأنواع اليومية هي الأعداد (int و float)، والنص (str)، والقيم المنطقية (True/False)، والحاويات أدناه.

الحاويات الأربع التي تستخدمها باستمرار
price = 250.0            # float
name  = "Cairo villa"    # str
is_sold = False          # bool

nums   = [1, 2, 3, 4]                 # list  — ordered, changeable
point  = (30.0, 31.2)                 # tuple — ordered, fixed
unique = {"cat", "dog"}               # set   — no duplicates
person = {"name": "Sara", "age": 29}  # dict  — key → value

التحكّم في التدفّق: القرارات والحلقات

تختار if/elif/else بين المسارات؛ وتكرّر حلقة for على مجموعة. والمسافة البادئة (٤ مسافات) هي طريقة Python لتجميع الكود — لا توجد أقواس.

python
for n in nums:
    if n % 2 == 0:
        print(n, "is even")
    else:
        print(n, "is odd")

الدوال — تغليف منطق تعيد استخدامه

تأخذ الدالة مدخلات، وتؤدي عملًا، وتُرجع نتيجة. وكتابة الدوال تُبقي التحليل نظيفًا وقابلًا للتكرار بدل نسخ الكود ولصقه.

python
def price_per_m2(price, area):
    """Return price per square meter."""
    return price / area

print(price_per_m2(250000, 120))   # 2083.33
اختبر نفسك ماذا يعطيك list[0]، ولماذا قد يكون list[-1] مفيدًا؟

list[0] هو العنصر الأول (تبدأ Python العدّ من 0). و list[-1] هو العنصر الأخير — فالفهارس السالبة تُعدّ من النهاية، فتحصل على آخر عنصر دون معرفة الطول.

الاختصارات والمكتبات

يبني الاختصار (list comprehension) قائمة جديدة في سطر واحد واضح — وهو أسلوب Python ستراه في كل مكان. و`import` تستدعي المكتبات: بهذه الطريقة تدخل NumPy و Pandas (المواضيع التالية) إلى دفترك.

python
squares = [n * n for n in range(5)]   # [0, 1, 4, 9, 16]

import pandas as pd
df = pd.read_csv("sales.csv")         # your data, one line away

الخلاصات الأساسية

  • أربع حاويات — list و tuple و set و dict — تغطي معظم بُنى البيانات التي تحتاجها.
  • المسافة البادئة تحدّد الكتل؛ والدوال تجعل التحليل قابلًا لإعادة الاستخدام.
  • import هي البوابة إلى منظومة البيانات كاملة (Pandas و NumPy و scikit-learn).

03البيانات

قواعد البيانات و SQL

تعيش معظم البيانات الحقيقية في قواعد البيانات. و SQL هي اللغة العالمية لطرح الأسئلة على تلك البيانات — وهي في معظمها فعل واحد: SELECT.

11 دقيقة قراءة

الجداول والصفوف والأعمدة

تخزّن قاعدة البيانات العلائقية البيانات في جداول — شبكة من الصفوف (السجلّات) والأعمدة (الحقول). ولكل جدول عادةً مفتاح أساسي يميّز الصف تمييزًا فريدًا، وترتبط الجداول ببعضها عبر تلك المفاتيح. و MySQL هو المحرّك الذي ستستخدمه.

تشريح الاستعلام

قراءة البيانات جملة واحدة تُنفَّذ عباراتها دائمًا بترتيب منطقي ثابت. أتقِن هذا الهيكل وستقرأ أي استعلام تقريبًا.

SELECT … FROM … WHERE … GROUP BY … ORDER BY
SELECT   city, COUNT(*) AS deals, AVG(price) AS avg_price
FROM     sales
WHERE    year = 2025
GROUP BY city
HAVING   COUNT(*) > 10
ORDER BY avg_price DESC
LIMIT    5;

الدمج (JOIN) — ضمّ الجداول

غالبًا ما تكون البيانات التي تحتاجها موزّعة على جداول (العملاء، الطلبات، المنتجات). ويعيد الدمج (JOIN) ضمّها عبر مفتاح مشترك. INNER JOIN يُبقي المتطابقات فقط؛ و LEFT JOIN يُبقي كل صف من الجدول الأيسر حتى لو لم يوجد تطابق في الأيمن.

sql
SELECT o.id, c.name, o.total
FROM   orders o
JOIN   customers c ON c.id = o.customer_id
WHERE  o.total > 1000;
اختبر نفسك دمجت العملاء مع الطلبات بـ LEFT JOIN فرجعت بعض أعمدة الطلبات NULL. ماذا يعني ذلك؟

هؤلاء العملاء ليس لديهم طلبات مطابِقة. أبقاهم LEFT JOIN مع ذلك وملأ أعمدة الجانب الأيمن المفقودة بـ NULL — وهي طريقة شائعة لإيجاد العملاء الذين لم يطلبوا قط.

التجميع حيث تكمن الرؤية

  • COUNT و SUM و AVG و MIN و MAX تلخّص صفوفًا كثيرة في رقم واحد.
  • GROUP BY يحسب تلك الملخّصات لكل فئة (لكل مدينة، لكل شهر).
  • هذا النمط الواحد يجيب عن معظم أسئلة الأعمال: «ما متوسط/إجمالي X لكل Y؟»

الخلاصات الأساسية

  • SELECT/FROM/WHERE/GROUP BY/ORDER BY هو هيكل كل استعلام تقريبًا.
  • الدمج يعيد ضمّ الجداول عبر مفاتيح مشتركة؛ و LEFT JOIN يحفظ الصفوف غير المتطابقة.
  • GROUP BY مع دالة تجميع يجيب عن معظم أسئلة «X لكل Y».

04الرياضيات والإحصاء

الإحصاء والاحتمالات

الإحصاء هو كيف تميّز الإشارة من الضجيج: تصف ما حدث، ثم تحكم إن كان النمط حقيقيًا أم مجرّد صدفة.

13 دقيقة قراءة

الإحصاء الوصفي: المركز والتشتّت

أولًا، لخّص عمودًا. المركز هو المتوسط (mean) أو الوسيط (median — أكثر مناعة ضد القيم الشاذّة). والتشتّت هو الانحراف المعياري: الصغير يعني أن القيم قريبة من المتوسط؛ والكبير يعني تبعثرها. انظر دائمًا إلى الاثنين — فالمتوسط نفسه قد يُخفي بيانات مختلفة جدًا.

التوزيعات والمنحنى الطبيعي

يُظهر التوزيع عدد مرّات ظهور كل قيمة. ويظهر المنحنى الطبيعي (الجرسي) الشهير في كل مكان. وقاعدته التقريبية: نحو 68% من القيم تقع ضمن انحراف معياري واحد من المتوسط، و95% ضمن انحرافين، و99.7% ضمن ثلاثة. وهكذا تحكم إن كانت قيمة ما «غير معتادة».

الاحتمال في دقيقة

  • الاحتمال يقيس مدى ترجيح وقوع حدث، من 0 (مستحيل) إلى 1 (مؤكّد).
  • الاحتمال الشرطي P(A|B) — احتمال A بعد وقوع B — هو جوهر نماذج كثيرة (مثل مرشّحات البريد المزعج).
  • الأحداث المستقلة تتضاعف: P(A and B) = P(A)·P(B) حين لا يؤثّر أحدها في الآخر.

الاستدلال: هل هذا النمط حقيقي؟

نادرًا ما تملك كل البيانات — بل عيّنة فقط. ويتيح الإحصاء الاستدلالي التعميم من العيّنة إلى المجتمع. ويسأل اختبار الفرضية: «لو لم يكن هناك أثر فعليًا، فما مدى غرابة ما رأيت؟» ويجيب القيمة الاحتمالية p: فقيمة p صغيرة (< 0.05 اصطلاحًا) تعني أن النتيجة يصعب أن تكون محض صدفة.

اختبر نفسك قيمة p تساوي 0.60 — هل تُثبت أن مجموعتيك متطابقتان؟

لا. قيمة p الكبيرة تعني أنك لم تجد دليلًا قويًا على فرق — لا أنه لا فرق. «عدم وجود دليل على الفرق» ليس «دليلًا على عدم الفرق».

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

يقيس الارتباط مدى تحرّك متغيّرين معًا (من -1 إلى +1). وهو أساسي لاختيار الخصائص — لكن شيئين قد يرتبطان دون أن يُسبّب أحدهما الآخر (مبيعات الآيس كريم وحوادث الغرق يرتفعان معًا في الصيف). وإثبات السببية يتطلّب تجربة مضبوطة، لا مجرّد ارتباط.

النماذج والتقنيات — ماذا ومتى ولماذا

المتوسط مقابل الوسيط وصفي

مقياسان لـ«مركز» عمود: المتوسط هو المعدّل؛ والوسيط هو القيمة الوسطى.

استخدم الوسيط للبيانات المنحرفة (الدخل، الأسعار)؛ والمتوسط للبيانات المتماثلة تقريبًا.

الوسيط يقاوم القيم الشاذّة — فبضع قيم متطرّفة لا تجرّه، فيبقى «نموذجيًا».

مثال: رواتب 30k,32k,35k,900k → المتوسط ≈ 249k (مضلّل)، الوسيط = 33.5k (صادق).

الانحراف المعياري التشتّت

يقيس كم تبعد القيم عادةً عن المتوسط — أي «تشتّت» البيانات.

اذكره مع المتوسط لوصف أي عمود عددي، ولرصد القيم غير المعتادة.

قد تتشارك مجموعتان المتوسط وتختلفان كثيرًا؛ والانحراف المعياري يكشف الفرق برقم واحد.

مثال: تحت المنحنى الطبيعي، نحو 95% من القيم ضمن انحرافين معياريين من المتوسط.

اختبار الفرضية (قيمة p) استدلالي

يسأل إن كان الأثر المُلاحَظ حقيقيًا على الأرجح أم قد يكون محض صدفة، ملخّصًا بقيمة p.

عند مقارنة مجموعات (اختبارات A/B)، والتحقّق من دلالة فرق أو علاقة.

يقيس المفاجأة: قيمة p صغيرة (< 0.05) تعني أن النتيجة يصعب حدوثها لو لا أثر.

مثال: زيادة تسجيلات الصفحة الجديدة بـ p = 0.01 → تحسّن حقيقي على الأرجح لا صدفة.

الارتباط علاقة

يقيس مدى تحرّك متغيّرين عدديين معًا، من -1 (متعاكس) إلى +1 (متوافق).

اختيار الخصائص والاستكشاف المبكّر — أي المدخلات ترتبط بهدفك.

سريع الحساب والتفسير — لكنه لا يُثبت السببية؛ فقد يقود عامل ثالث كليهما.

مثال: المساحة ترتبط +0.8 بالسعر → خاصية مفيدة؛ الآيس كريم والغرق → يقودهما الحرّ.

الخلاصات الأساسية

  • اذكر المركز والتشتّت معًا؛ وفضّل الوسيط للبيانات المنحرفة.
  • قاعدة 68/95/99.7 للمنحنى الطبيعي تخبرك بما يُعدّ غير معتاد.
  • قيمة p الصغيرة تعني «غالبًا ليست صدفة»؛ والارتباط لا يُثبت السببية أبدًا.
جرّبها التوزيع الطبيعي

تتجمّع معظم البيانات حول المتوسّط وتنتشر بمقدار الانحراف المعياري. حرّك μ لإزاحة المركز وσ لتوسيع الجرس أو تضييقه — النطاق المظلّل هو ±1σ (~68% من البيانات).

±1σ ≈ 68% · ±2σ ≈ 95%

05الرياضيات والإحصاء

رياضيات تعلّم الآلة

لا تحتاج رياضيات ثقيلة للبدء، لكن فكرتين تُشغّلان كل شيء: المتّجهات/المصفوفات (كيف تُخزَّن البيانات) والمشتقّات (كيف تتعلّم النماذج).

11 دقيقة قراءة

المتّجهات والمصفوفات = بياناتك

المثال الواحد (منزل واحد: مساحته، غرفه، عمره) هو متّجه — قائمة أعداد. وبتكديس أمثلة كثيرة تحصل على مصفوفة: الصفوف أمثلة والأعمدة خصائص. وكل مجموعة بيانات تحمّلها في Pandas هي في جوهرها مصفوفة — ولهذا فالجبر الخطي هو لغة تعلّم الآلة.

الجداء النقطي — حصان العمل

اضرب متّجهين عنصرًا بعنصر واجمع النتائج: تلك العملية الواحدة هي كيف يمزج النموذج الخصائص بالأوزان ليصنع تنبّؤًا. فالنموذج الخطي هو حرفيًا الأوزان · الخصائص + الإزاحة.

python
import numpy as np
weights  = np.array([0.4, 0.3, -0.1])
features = np.array([120, 3, 15])       # size, rooms, age
prediction = weights @ features + 50    # @ is the dot product
# 0.4*120 + 0.3*3 + -0.1*15 + 50 = 97.4

المشتقّات = اتجاه التحسّن

تقيس المشتقّة كيف تتغيّر دالة عند تحريك مدخلها قليلًا — أي ميلها. في تعلّم الآلة، الدالة هي الخطأ، والمشتقّة (التدرّج) تشير صعودًا نحو خطأ أكبر. لذا نخطو في الاتجاه المعاكس لتقليله. هذا هو الانحدار التدرّجي: الخوارزمية الواحدة خلف تدريب النماذج الخطية والشبكات العصبية ومعظم التعلّم العميق.

اختبر نفسك إذا كان معدّل التعلّم (طول الخطوة) كبيرًا جدًا، فما الخطأ الذي يحدث؟

تتجاوز القاع وترتدّ حوله — فقد يتذبذب الخطأ أو حتى ينفجر بدل أن يستقرّ. والصغير جدًا يجعله يزحف ببطء. وضبط معدّل التعلّم مهارة أساسية.

الخلاصات الأساسية

  • البيانات متّجهات ومصفوفات؛ والتنبّؤ جداء نقطي للأوزان والخصائص.
  • المشتقّات تعطي ميل الخطأ؛ والانحدار التدرّجي يخطو نزولًا ليتعلّم.
  • معدّل التعلّم يتحكّم بطول الخطوة — الكبير يتجاوز والصغير يزحف.

06البيانات

التحليل الاستكشافي للبيانات

قبل النمذجة، تستجوب البيانات: شكلها وثغراتها وقيمها الشاذّة. Pandas هي الأداة؛ والفضول هو المنهج.

12 دقيقة قراءة

NumPy و Pandas

تمنحك NumPy مصفوفات عددية سريعة؛ وتبني Pandas فوقها إطار البيانات (DataFrame) — جدولًا موسومًا (كجدول بيانات داخل الكود) هو مركز ثقل كل تحليل في Python. تحمّل البيانات في DataFrame وتعمل كل خطوة لاحقة عليه.

أول خمس حركات على أي مجموعة بيانات

هذه الأسطر الخمسة تجيب: ما حجمها، وما معنى الأعمدة، وما أنواعها، وأين الثغرات. ولا تنمذج أبدًا بيانات لم تنظر إليها أولًا بهذه الطريقة.

الحركة الانعكاسية قبل أي شيء آخر
df.shape         # (rows, columns) — how big is it?
df.head()        # eyeball the first rows
df.info()        # column types + non-null counts
df.describe()    # mean/std/min/quartiles for numbers
df.isna().sum()  # how many missing values per column

الاختيار والترشيح والتجميع

الأفعال الثلاثة التي تستخدمها باستمرار: اختيار الأعمدة/الصفوف، والإبقاء على الصفوف التي تحقّق شرطًا، والتلخيص حسب الفئة. ونمط groupby يماثل GROUP BY في SQL.

python
df[["city", "price"]]                       # select columns
df[df["price"] > 1_000_000]                 # filter rows
df.groupby("city")["price"].mean()          # summarize per city

القيم المفقودة والشاذّة

  • البيانات المفقودة: قرّر لكل عمود — احذف الصفوف، أو املأ (impute) بالمتوسط/الوسيط/المنوال، أو بقيمة من المجال. ولا تتجاهلها بصمت.
  • القيم الشاذّة: قيم بعيدة عن البقية. أحيانًا أخطاء تُصحَّح، وأحيانًا أهمّ إشارة (احتيال!). تحقّق قبل الحذف.
  • مخطّط الصندوق أو قاعدة المدى الرُّبيعي (1.5 × المدى بين الرُّبيعين) هي الطريقة المعيارية لتمييزها.
اختبر نفسك عمود «الراتب» به بضع قيم تساوي 0 وقيمة تساوي 9,999,999. هل تملأ المتوسط في جميعها؟

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

الخلاصات الأساسية

  • إطار البيانات مركز التحليل؛ و shape/head/info/describe/isna هي حركتك الافتتاحية.
  • الاختيار والترشيح و groupby تغطّي معظم الاستكشاف اليومي.
  • عالج القيم المفقودة والشاذّة بوعي — تحقّق قبل الحذف أو الملء.
الفكرة التحليل الاستكشافي للبيانات (EDA)

قبل النمذجة تستكشف: ترسم التوزيعات وتكتشف القيم الشاذّة وتجد العلاقات بين المتغيّرات — فتترك البيانات تخبرك بما يهمّ.

تدرّب على هذا في المختبر التفاعلي

07البيانات

تصوير البيانات

يكشف المخطّط في ثانية ما تُخفيه آلاف الصفوف في جدول. والمهارة هي اختيار المخطّط المناسب للسؤال.

9 دقيقة قراءة

طابِق المخطّط مع السؤال

  • المقارنة بين الفئات ← مخطّط أعمدة.
  • الاتجاه عبر الزمن ← مخطّط خطّي.
  • العلاقة بين رقمين ← مخطّط مبعثر.
  • توزيع رقم واحد ← مدرّج تكراري أو مخطّط صندوقي.
  • جزء من كل ← أعمدة مكدّسة (تجنّب المخطّطات الدائرية لأكثر من شرائح قليلة).

الأدوات

Matplotlib هي الأساس (تحكّم كامل)، و Seaborn يضيف مخطّطات إحصائية جميلة في سطر واحد، و Plotly يصنع مخطّطات تفاعلية يمكنك تحويم المؤشّر عليها وتكبيرها. ثم يحوّل Streamlit سكربتك إلى تطبيق ويب قابل للمشاركة — دون أي تطوير ويب.

python
import plotly.express as px
fig = px.scatter(df, x="area", y="price", color="city",
                 title="Price vs. area")
fig.show()

اجعله صادقًا وواضحًا

المخطّط الجيّد له عنوان واضح ومحاور موسومة، ويبدأ محور y من الصفر في مخطّطات الأعمدة (قطعه يبالغ في الفروق). أزل الفوضى؛ وأبرِز الشيء الوحيد الذي ينبغي أن يراه القارئ. فالتصوير حُجّة — اجعلها عادلة.

اختبر نفسك تريد إظهار كيف تغيّرت الإيرادات الشهرية خلال عامين. أعمدة أم خطّي؟

مخطّط خطّي — فهو اتجاه عبر الزمن، والخطّ يُسهّل قراءة الصعود/الهبوط والموسمية عبر 24 نقطة حيث ستبدو 24 عمودًا مزدحمة.

النماذج والتقنيات — ماذا ومتى ولماذا

مخطّط الأعمدة مقارنة

يقارن قيمة عبر فئات باستخدام طول المستطيل.

مقارنة مجموعات منفصلة: المبيعات لكل منطقة، العدد لكل فئة.

الطول أسهل قناة بصرية للمقارنة الدقيقة.

مثال: الإيراد حسب المدينة — ابدأ المحور من الصفر للصدق.

المخطّط الخطّي اتجاه عبر الزمن

يصل النقاط بالترتيب ليُظهر تغيّر قيمة عبر محور متّصل (غالبًا الزمن).

الاتجاهات والنموّ والموسمية عبر نقاط زمنية كثيرة.

الميل يجعل الصعود والهبوط والدورات مقروءة فورًا.

مثال: الإيراد الشهري عبر عامين يُقرأ كخطّ أفضل بكثير من 24 عمودًا.

المخطّط المبعثر علاقة

يضع كل صف نقطةً في فضاء x–y ليُظهر علاقة رقمين.

استكشاف الارتباط والعناقيد والقيم الشاذّة بين متغيّرين.

يكشف أنماطًا (خطّية، منحنية، متجمّعة) يُخفيها أي إحصاء ملخّص.

مثال: المساحة مقابل السعر ملوّنًا بالمدينة يُظهر الاتجاه وفروق الشرائح.

المدرّج التكراري / المخطّط الصندوقي توزيع

يُظهران توزيع عمود عددي واحد — شكله ومركزه وتشتّته وقيمه الشاذّة.

قبل النمذجة، لفهم متغيّر واكتشاف الانحراف أو الشذوذ.

المتوسط وحده يُخفي الشكل؛ وهذان يكشفانه (ثنائي القمّة، منحرف، ذيول ثقيلة).

مثال: المخطّط الصندوقي يميّز شواذّ الرواتب بقاعدة 1.5×المدى الرُّبيعي.

الخلاصات الأساسية

  • اختيار المخطّط يتبع السؤال: مقارنة←أعمدة، زمن←خطّي، علاقة←مبعثر، توزيع←مدرّج.
  • Matplotlib/Seaborn/Plotly للرسم؛ و Streamlit لنشره كتطبيق.
  • سِم المحاور، وتجنّب المقاييس المضلّلة — فالمخطّط حُجّة، أبقِها عادلة.

08البيانات

معالجة البيانات وهندسة الخصائص

النماذج بجودة الخصائص التي تُغذّيها بها. والمعالجة هي تحويل البيانات الخام الفوضوية إلى أرقام نظيفة جاهزة للنموذج — وغالبًا هنا تُكسَب المشاريع.

11 دقيقة قراءة

لماذا تحتاج النماذج خصائص نظيفة

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

ترميز الفئات

حوّل الفئات النصية إلى أرقام. الترميز أحادي التنشيط (one-hot) يصنع عمود 0/1 لكل فئة (الأفضل للفئات غير المرتّبة كالمدينة). والترميز الترتيبي يمنح ترتيبًا (مناسب لـ «صغير < وسط < كبير»).

قياس الخصائص العددية

إذا اجتمع «العمر» (0–100) و«الدخل» (0–1,000,000)، تظنّ النماذج القائمة على المسافة أن الدخل أهمّ بـ 10,000 مرّة لمجرّد مقياسه. والتقييس (طرح المتوسط والقسمة على الانحراف) أو قياس min-max (الضغط إلى 0–1) يضع الخصائص على قدم المساواة.

هندسة الخصائص: الحافة الإبداعية

الخطوة الأعلى قيمة: ابتكار خصائص جديدة تُبرز الإشارة. من تاريخ، اشتقّ يوم الأسبوع أو «هل هو عطلة»؛ ومن السعر والمساحة، اشتقّ السعر لكل متر مربّع. وخاصية مُهندَسة جيدًا قد تتفوّق على نموذج أعقد يعمل على مدخلات خام.

اختبر نفسك لماذا نقيس الخصائص على مجموعة التدريب ونعيد استخدام أداة القياس على الاختبار، بدل قياس كل البيانات دفعة واحدة؟

لأن مجموعة الاختبار يجب أن تحاكي بيانات مستقبلية غير مرئية. فإن «رأت» أداة القياس متوسط/مدى الاختبار، تسرّبت معلومات من الاختبار إلى التدريب وصار تقييمك مفرطًا في التفاؤل — فيبدو النموذج أفضل مما سيكون في التشغيل.

النماذج والتقنيات — ماذا ومتى ولماذا

الترميز أحادي التنشيط فئوي

يحوّل فئة غير مرتّبة إلى عمود 0/1 لكل قيمة ممكنة.

الفئات بلا ترتيب طبيعي (المدينة، اللون، العلامة).

يتجنّب افتعال ترتيب زائف يوحي به الترميز الرقمي البسيط.

مثال: المدينة → أعمدة is_cairo و is_giza و is_alex.

التقييس / القياس عددي

يعيد قياس الخصائص العددية إلى مدى متقارب (متوسط 0/انحراف 1، أو 0–1).

للنماذج القائمة على المسافة والتدرّج (kNN، SVM، الشبكات، k-means).

يمنع خاصية كبيرة المدى (الدخل) من الهيمنة على صغيرة (العمر) بالمقياس وحده.

مثال: درّب أداة القياس على التدريب فقط ثم طبّقها على الاختبار — تجنّب تسريب البيانات.

هندسة الخصائص ابتكار

يبتكر مدخلات جديدة أكثر إفادة من الأعمدة الموجودة.

كلما أوحت معرفة المجال بإشارة أفضل من الحقول الخام.

خاصية مختارة جيّدًا غالبًا تتفوّق على نموذج أعقد على مدخلات خام.

مثال: من التاريخ → يوم الأسبوع، هل عطلة؛ من السعر والمساحة → السعر لكل م².

ملء القيم المفقودة بيانات مفقودة

يملأ الخلايا المفقودة بقيمة معقولة (المتوسط، الوسيط، المنوال، أو قيمة من المجال).

حين يفقد حذف الصفوف بيانات كثيرة والثغرات غير ذات دلالة.

معظم النماذج لا تقبل NULL؛ والملء المدروس يحفظ الإشارة.

مثال: املأ الوسيط للأعمدة العددية المنحرفة؛ وتحقّق من «الصفر بمعنى مفقود» أولًا.

الخلاصات الأساسية

  • رمّز الفئات (one-hot/ترتيبي) وقِس الخصائص العددية إلى مديات متقاربة.
  • درّب المحوّلات على التدريب فقط وطبّقها على الاختبار — تجنّب تسريب البيانات.
  • هندسة الخصائص — ابتكار خصائص مفيدة — غالبًا أكبر رافعة على الدقّة.
الفكرة معالجة البيانات المسبقة

البيانات الخام فوضوية — قيم مفقودة ومقاييس مختلفة وفئات نصّية. المعالجة تنظّفها وتملأها وتُرمّزها وتوحّد مقاييسها إلى مصفوفة مرتّبة يتعلّم منها النموذج.

تدرّب على هذا في المختبر التفاعلي

09النمذجة

تعلّم الآلة

تعلّم الآلة يجد دالة من البيانات. وهذا الموضوع قلب CDSP: عائلات النماذج، وكيف تُدرَّب، وكيف تعرف إن كانت تعمل فعلًا.

15 دقيقة قراءة

المُوجَّه: انحدار مقابل تصنيف

إن كانت الإجابة رقمًا (سعر، حرارة) فهو انحدار. وإن كانت فئة (مزعج/غير مزعج، أيّ من 3 فئات) فهو تصنيف. الفكرة نفسها — التعلّم من أمثلة موسومة — لكن المخرج مختلف والمقاييس مختلفة.

  • الانحدار الخطي/اللوجستي — خطوط أساس بسيطة وسريعة وقابلة للتفسير.
  • أشجار القرار والغابات العشوائية — تلتقط قواعد غير خطية؛ والغابات نماذج قوية متعدّدة الاستخدام.
  • أقرب الجيران و SVM — يصنّفان بالتشابه أو بأفضل حدّ فاصل.

غير المُوجَّه: التجميع

بلا وسوم — يجمّع النموذج الصفوف المتشابهة. و k-means يقسّم البيانات إلى k عناقيد بإسناد النقاط تكرارًا إلى أقرب مركز ثم تحريك المراكز إلى المتوسط. يُستخدم لتقسيم العملاء وكشف الشذوذ والضغط.

تقسيم التدريب/الاختبار ومقايضة الانحياز–التباين

احتفظ دائمًا بمجموعة اختبار لا يتدرّب عليها النموذج أبدًا — فهي تقدّر الأداء في الواقع. نقص المطابقة (انحياز عالٍ) = بسيط جدًا، يفوّت النمط. وفرط المطابقة (تباين عالٍ) = يحفظ بيانات التدريب بضجيجها، ويفشل على الجديد. والهدف هو النقطة المثلى بينهما.

نمط scikit-learn واحد دائمًا
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42)

model = RandomForestClassifier()
model.fit(X_train, y_train)          # learn
preds = model.predict(X_test)        # predict on unseen data

قيّم بصدق

  • الانحدار: RMSE/MAE (متوسط حجم الخطأ)، و R² (نسبة التباين المفسَّر).
  • التصنيف: الدقّة — لكن على البيانات غير المتوازنة استخدم الإحكام (precision) والاستدعاء (recall) و F1.
  • مصفوفة الالتباس تُظهر بدقّة أيّ الفئات تختلط بأيّها.
اختبر نفسك كاشف احتيال دقّته 99.9%، لكن 0.1% فقط من المعاملات احتيال. هل هو جيّد؟

غالبًا عديم الفائدة. فنموذج يتنبّأ دائمًا بـ«لا احتيال» يحقّق أيضًا 99.9% دقّة بينما يمسك صفر احتيال. في المشكلات غير المتوازنة، احكم بالاستدعاء (هل أمسك الاحتيال؟) والإحكام — لا بالدقّة.

النماذج والتقنيات — ماذا ومتى ولماذا

الانحدار الخطي / اللوجستي مُوجَّه · خطّ أساس

يلائم علاقة خطّية: الخطي يتنبّأ برقم، واللوجستي باحتمال فئة.

خطّ أساسك الأول، وحين تحتاج نموذجًا سريعًا قابلًا للتفسير.

بسيط، يصعب فرط مطابقته، وأوزانه تُظهر أثر كل خاصية مباشرة.

مثال: التنبّؤ بسعر منزل من المساحة/الغرف؛ التنبّؤ بالتسرّب نعم/لا.

شجرة القرار مُوجَّه · قواعد

يقسّم البيانات بطرح سلسلة أسئلة نعم/لا، مكوّنًا شجرة شرطية.

حين تريد نموذجًا يقرأه البشر، وتتفاعل الخصائص لاخطّيًا.

يلتقط قواعد لاخطّية ولا يحتاج قياسًا — لكن الشجرة الواحدة تفرط المطابقة بسهولة.

مثال: الموافقة على قرض: الدخل > X؟ ثم التوظيف > سنتين؟ …

الغابة العشوائية مُوجَّه · تجميعي

يأخذ متوسط أشجار قرار كثيرة مُدرّبة على عيّنات بيانات/خصائص عشوائية.

خيار قوي قليل الجهد لمعظم مشكلات البيانات الجدولية.

المتوسط يلغي أخطاء الأشجار الفردية، فيقلّل فرط المطابقة (التباين).

مثال: الاحتيال أو التسرّب أو التنبّؤ بالسعر حين تريد دقّة بقليل من الضبط.

أقرب الجيران (kNN) مُوجَّه · تشابه

يصنّف نقطة بأغلبية وسوم أقرب k جيران لها.

بيانات صغيرة/متوسطة بمسافات ذات معنى وأبعاد قليلة.

بديهي ولا يحتاج تدريبًا — لكنه بطيء في التنبّؤ وحسّاس للمقياس.

مثال: اقترح عناصر مشابهة لما أعجب المستخدم بالفعل.

آلة المتّجهات الداعمة (SVM) مُوجَّه · حدّ فاصل

يجد الحدّ الذي يفصل الفئات بأوسع هامش ممكن.

التصنيف ذو الهامش الواضح، خاصةً مع خصائص كثيرة وبيانات محدودة.

حيلة النواة تعالج الحدود اللاخطّية؛ ومتين في الأبعاد العالية.

مثال: تصنيف نصوص أو صور بفئات مفصولة جيّدًا.

تجميع k-Means غير مُوجَّه · تجميع

يجمّع بيانات غير موسومة في k عناقيد حسب أقرب مركز، محسّنًا المراكز تكرارًا.

تقسيم العملاء، ضغط الألوان، أو استكشاف البنية دون وسوم.

سريع وبسيط — لكن عليك اختيار k ويفترض عناقيد دائرية متقاربة الحجم.

مثال: قسّم المتسوّقين إلى 4 شرائح إنفاق لعروض مستهدفة.

الخلاصات الأساسية

  • الانحدار يتنبّأ بأرقام، والتصنيف بفئات، والتجميع يجد مجموعات.
  • قيّم دائمًا على مجموعة محجوزة؛ ووازن بين نقص المطابقة وفرطها.
  • اختر المقياس المناسب للمشكلة — الدقّة تكذب على البيانات غير المتوازنة؛ استخدم الإحكام/الاستدعاء/F1.
الفكرة كيف يتعلّم نموذج تعلّم الآلة

تتدفّق السمات إلى نموذج يُخرج تنبؤًا؛ يُقاس الخطأ ويُعاد لضبط النموذج. كرّر عبر حِقب كثيرة فتنخفض الخسارة — ويتحسّن النموذج.

جرّبها اضبط الخط — قلّل الخطأ

حرّك المنزلقات لتمرير الخط عبر البيانات. الخطوط المتقطّعة هي البواقي، والصندوق يعرض متوسّط مربّع الخطأ. اضغط «أفضل ملاءمة» للحل الأمثل.

MSE

جرّبها عتبة التصنيف — الدقّة مقابل الاستدعاء

يمنح المصنّف كل حالة درجة، والعتبة تقرّر إيجابي أم سلبي. حرّكها وراقب التوازن بين الدقّة والاستدعاء والصحّة — لا توجد عتبة «صحيحة» واحدة.

Precision · Recall · Acc

تدرّب على هذا في المختبر التفاعلي

10الهندسة

نشر النماذج

النموذج داخل الدفتر لا ينفع أحدًا. والنشر هو تحويله إلى شيء يستطيع الناس (أو برمجيات أخرى) استخدامه فعلًا.

9 دقيقة قراءة

احفظ النموذج، لا الدفتر فقط

التدريب والخدمة منفصلان. وبعد التدريب، تُسلسِل النموذج إلى ملف (joblib/pickle) ليحمّله أي برنامج ويتنبّأ دون إعادة تدريب. وهذا الأثر (artifact) هو ما تنشره.

python
import joblib
joblib.dump(model, "model.joblib")     # after training
# later, in the app:
model = joblib.load("model.joblib")
model.predict(new_data)

طريقتان لخدمته

  • تطبيق ويب (Streamlit) — واجهة يُدخل فيها المستخدمون قيمًا ويرون التنبّؤات. أسرع طريقة لعرض القيمة.
  • واجهة برمجية (Flask/FastAPI) — نقطة نهاية تستدعيها برمجيات أخرى للحصول على التنبّؤات برمجيًا. وهكذا تندمج النماذج في المنتجات الحقيقية.

لا ينتهي الأمر عند الإطلاق

العالم يتغيّر، فتنحرف دقّة النموذج الحيّ مع الوقت (انحراف البيانات). ويعني تعلّم الآلة في الإنتاج مراقبة التنبّؤات، وإعادة التدريب على بيانات جديدة، وإصدار نسخ للنماذج — وهو الانضباط المسمّى MLOps الذي يغطّيه البرنامج المتقدّم بعمق.

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

انحراف البيانات — فقد ابتعدت بيانات الواقع عمّا تدرّب عليه النموذج (اتجاهات وأسعار وسلوكيات جديدة). والحلّ هو المراقبة مع إعادة تدريب دورية على بيانات حديثة.

الخلاصات الأساسية

  • سلسِل النموذج المدرَّب إلى ملف؛ فالخدمة منفصلة عن التدريب.
  • اخدمه عبر تطبيق Streamlit (للناس) أو نقطة Flask/FastAPI (للبرمجيات).
  • راقب انحراف البيانات وأعد التدريب — فالنشر دورة حياة لا حدث واحد.

دروس المتطلّبات بالفيديو

دبلومة علم البيانات — المتطلّبات شاهد على يوتيوب
مواضيع علم البيانات شاهد على يوتيوب

اكتب للبحث في كل ابسلون.

تنقّل فتح esc إغلاق فتح البحث الكامل →

احصل على هذا الملف

أدخل بياناتك وسنرسل لك رابط التنزيل عبر البريد الإلكتروني فورًا.

سنرسل الرابط إلى بريدك — بدون رسائل مزعجة.
واتساب اتصال سجّل الآن