طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 244 · علم البيانات للويب
الدرس 1 · الوحدة 1: مقدمة في علم البيانات وتحليل البيانات

ما علم البيانات؟ دورة حياة التحليل

من أثر النقرات إلى القرار: ما علم البيانات، وكيف نسير فيه خطوة خطوة؟ ⏱ نحو 30 دقيقة.

بعد هذا الدرس ستستطيع أن:
  • تعرّف علم البيانات بوصفه تحويل البيانات إلى قرار.
  • تتبع دورة حياة التحليل الخمسية.
  • تميّز أدوات بايثون لكل خطوة.
  • تقرأ إطار بيانات بسيطًا وتحسب إحصاءً أوّليًّا.

١البيانات في كل نقرة

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

في هذا المقرر لن نكتفي بالنظر؛ سنحلّل بيانات ويب حقيقية بأدوات المحترفين — Python وPandas — ونصل إلى نماذج تتنبّأ بالسلوك.

٢دورة حياة التحليل: خمس خطوات

كل مشروع بيانات يمرّ بالمسار نفسه، وسنسير عليه درسًا درسًا:

الخطوةالسؤالالأداة في مقرّرنا
1) الجمع/الاستخراجمن أين البيانات؟CSV، JSON، جداول HTML، سجلّات الخادم
2) التنظيفهل البيانات صالحة؟معالجة الناقص والمكرّر وتوحيد الأنواع
3) التحليلماذا تقول البيانات؟الإحصاء الوصفي، التجميع groupby
4) التصوركيف نراها؟Matplotlib: خطوط وأعمدة ومدرّجات
5) النمذجة والتنبؤماذا سيحدث؟scikit-learn: انحدار وتصنيف

الخطوات ليست خطًّا مستقيمًا: كثيرًا ما تعود من التحليل إلى التنظيف حين تكتشف خطأً في البيانات. هذا طبيعي.

٣أول نظرة إلى جدول بيانات

قلب علم البيانات في بايثون هو إطار البيانات DataFrame: جدول له صفوف وأعمدة، تمامًا كورقة إكسل، لكن نخاطبه بالكود. انظر — ثم اضغط ▶ شغّل هنا لتجرّبه بنفسك:

main.py
import pandas as pd # سجلّ زيارات مبسّط لموقع متجرvisits = pd.DataFrame({    "page": ["الرئيسية", "المنتجات", "السلة", "الدفع", "المنتجات"],    "seconds": [12, 45, 30, 90, 52],    "bought": [False, False, True, True, False],}) print(visits)print("عدد الزيارات:", len(visits))print("متوسط زمن البقاء:", visits["seconds"].mean(), "ثانية")
Shell×
>>> %Run main.py
page seconds bought
0 الرئيسية 12 False
1 المنتجات 45 False
2 السلة 30 True
3 الدفع 90 True
4 المنتجات 52 False
عدد الزيارات: 5
متوسط زمن البقاء: 45.8 ثانية
>>>

بثلاثة أسطر قرأنا الجدول، وعددنا صفوفه، وحسبنا متوسط زمن البقاء. هذا ما سنبنيه عليه طوال المقرر.

توقّع وتحقّق

علم البيانات هدفه الأساسي:

الأداة الأساسية للتعامل مع الجداول في بايثون:

أي خطوة تسبق التحليل مباشرة؟

البيانات الرديئة تؤدي إلى:

الخلاصة

تحدٍّ برمجي: أول تحليل

تمهيدي

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

المطلوب:
  • اطبع عدد الزيارات التي bought == True.
  • اطبع متوسط seconds مقرّبًا إلى منزلة عشرية واحدة.

ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:

main.py
import pandas as pdvisits = pd.DataFrame({    "page": ["A", "B", "C", "D", "E"],    "seconds": [12, 45, 30, 90, 52],    "bought": [False, False, True, True, False],})# اطبع عدد الزيارات الشرائية ثم متوسط الثواني مقرّبًا لمنزلة واحدة
المطلوب×
2
45.8
💡 تلميح 1
عدد الشرائية: visits["bought"].sum() (True = 1).
💡 تلميح 2
المتوسط: round(visits["seconds"].mean(), 1).

حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.

main.py
import pandas as pdvisits = pd.DataFrame({    "page": ["A", "B", "C", "D", "E"],    "seconds": [12, 45, 30, 90, 52],    "bought": [False, False, True, True, False],})print(int(visits["bought"].sum()))print(round(visits["seconds"].mean(), 1))
انتقل إلى تقييم الدرساختيار من متعدد، وصح وخطأ، وأكمل الفراغ، وتتبّع الناتج.ابدأ التقييم ←

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس