English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

ضيف
1 / ?

ما هو علم البيانات؟ [BLOCK_TYPE SECTION/STEP]

علم البيانات ليس مجرد تعلم الآلة. وليس مجرد إحصاء. وليس مجرد برمجة. [BLOCK_TYPE SECTION/STEP]

علم البيانات هو تخصص استخراج المعرفة المفيدة من البيانات. معظم هذا العمل ليس براقًا: إنه تنظيف جداول البيانات المليئة بالفوضى، وسؤال الأسئلة الصحيحة، والتواصل النتائج مع أشخاص لا يهتمون برمجتك. [BLOCK_TYPE SECTION/STEP]

خط أنابيب علم البيانات [BLOCK_TYPE SECTION/STEP]

يبدو خط أنابيب علم البيانات النموذجي كما يلي:

1. Collect: جمع البيانات الخام من قواعد البيانات، واجهات برمجة التطبيقات (APIs)، ملفات CSV، أو استخراج البيانات من الويب [BLOCK_TYPE SECTION/STEP]

2. Clean: التعامل مع القيم المفقودة، تصحيح الأنواع، إزالة التكرارات [BLOCK_TYPE SECTION/STEP]

3. Explore: تصور التوزيعات، اكتشاف الأنماط، طرح الأسئلة [BLOCK_TYPE SECTION/STEP]

4. Engineer: إنشاء ميزات جديدة تساعد النماذج على التعلم [BLOCK_TYPE SECTION/STEP]

5. Model: تدريب الخوارزميات، تقييم الأداء، التكرار [BLOCK_TYPE SECTION/STEP]

6. Communicate: عرض النتائج لأصحاب المصلحة الذين يتخذون القرارات [BLOCK_TYPE SECTION/STEP]

إذا سبق لك استخدام جداول Excel الديناميكية، أو التنسيق الشرطي، أو VLOOKUP، فأنت قد أكملت بالفعل الخطوات 1-3. هذه الدرس يربط تلك Erfahrung بكل الطريقة المتعارف عليها في الصناعة باستخدام Python. [BLOCK_TYPE SECTION/STEP]

Warm-Up

تجربتك مع البيانات

لقد عمل الجميع مع البيانات بشكل ما: جدول ميزانية، متتبع درجات، تطبيق لياقة بدنية، وحتى قائمة تشغيل مع عدد مرات التشغيل.

صف وقتًا عملت فيه مع البيانات في جدول بيانات أو تطبيق. ماذا كنت تحاول معرفته، وهل أعطتك البيانات الإجابة؟

المدخلات السيئة، المخرجات السيئة

لماذا يهم التنظيف
[BLOCK_TYPE SECTION/STEP]

يقضي علماء البيانات 60-80% من وقتهم في تنظيف البيانات. هذا ليس مبالغة: إنه اكتشاف ثابت في استطلاعات الصناعة. [BLOCK_TYPE SECTION/STEP]

السبب بسيط: مدخلات سيئة، مخرجات سيئة. إذا كانت بياناتك تحتوي على أخطاء أو قيم مفقودة أو تنسيقات غير متسقة,那么 كل تحليل يُبنى عليها سيكون خاطئًا. نموذج مثالي مدرب على بيانات متسخة ينتج إجابات خاطئة بثقة. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

مشاكل البيانات الشائعة
[BLOCK_TYPE SECTION/STEP]

- القيم المفقودة: الخلايا فارغة. هل لم يتم جمع البيانات، أم أن القيمة صفر فعلاً؟ هذه حالen

- Wrong data types: a column of numbers stored as text, dates in inconsistent formats (01/02/2024: is that January 2nd or February 1st?)

- Outliers: a salary column has one entry of $1,000,000,000. Is that real, or a typo? Either way, it will skew your averages.

- التكرارات: يظهر نفس السجل مرتين بسبب دمج نظامين بشكل غير مثالي [BLOCK_TYPE cleaning/garbage_in]

- ترميز الفئات: عمود يحتوي على 'Yes'، 'yes'، 'Y'، 'TRUE'، و'1'. كل هذه تعني الشيء نفسه، لكن جهازك لا يعلم ذلك. [BLOCK_TYPE cleaning/garbage_in]

[BLOCK_TYPE cleaning/garbage_in]

في pandas (مكتبة بايثون القياسية للبيانات)، تتعامل مع هذه المشكلات باستخدام دوال مثل dropna()، fillna()، astype()، وdrop_duplicates(). لكن الجزء الصعب ليس الكود: بل تحديد ما يجب فعله مع كل مشكلة. [BLOCK_TYPE cleaning/garbage_in]

مشاكل البيانات الشائعة [BLOCK_TYPE TITLE cleaning/cleaning_decisions]

قرارات التنظيف [BLOCK_TYPE CONTENT cleaning/cleaning_decisions]

تحديد ما يجب فعله
[BLOCK_TYPE CONTENT cleaning/cleaning_decisions]

إليك سيناريو حقيقي. لديك مجموعة بيانات تحتوي على 10,000 سجل عميل. عمود 'age' يحتوي على 500 قيمة مفقودة.

خياراتك:

- حذف الصفوف: إزالة جميع السجلات البالغ عددها 500. بسيط، لكنه يؤدي إلى فقدان 5% من بياناتك. إذا كانت هذه الـ 500 عميل تشترك في صفة معينة (ربما تجنبوا تعبئة حقل العمر لأنهم يهتمون بالخصوصية)، فإن حذفها يُدخل تحيزًا.

- ملء بالمتوسط: استبدال القيم الفارغة بمتوسط العمر. سريع، لكنه يقلل بشكل مصطنع من تباين عمود العمر.

- ملء بالوسيط: أفضل من المتوسط إذا كان توزيع العمر مُنحرفًا (بعض العملاء كبار السن جدًا أو صغار السن جدًا يؤثرون على المتوسط).

- استخدام علم: إنشاء عمود جديد يُسمى 'age_missing' (1 أو 0) وملء القيم الأصلية بالوسيط. الآن يستطيع نموذجك أن يتعلم ما إذا كان الفقدان نفسه مفيدًا.

لا توجد إجابة صحيحة عالميًا. يعتمد الاختيار على سبب فقدان البيانات وما تخطط لفعله بها.

لديك مجموعة بيانات لرواتب الموظفين. 200 من أصل 5,000 سجل لها قيم رواتب مفقودة. تلاحظ أن معظم القيم المفقودة تأتي من التنفيذيين. هل ستحذف تلك الصفوف، أو تملأها بالمتوسط، أو تفعل شيئًا آخر؟ اشرح تفكيرك.

طرح الأسئلة الصحيحة

التحليل الاستكشافي للبيانات (EDA)

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


الأدوات الرئيسية

- الهيستوغرامات: تعرض توزيع متغير واحد. هل هو على شكل جرس؟ هل هو منحرف؟ هل هو ثنائي المنوال (قمتان)؟ هيستوغرام الدخل يكون دائماً منحرفاً جهة اليمين لأن قلة من الناس يحصلون على دخل أعلى بكثير من الأغلبية.

- مخططات الانتشار: تعرض العلاقة بين متغيرين. هل الأطول قامة يزنون أكثر؟ هل وقت الدراسة الأكثر يرتبط بدرجات أعلى؟ يخبرك النمط (أو عدمه) ما إذا كانت هناك علاقة موجود

- الارتباط: رقم بين -1 و +1 يقيس الارتباط الخطي. +1 يعني علاقة إيجابية كاملة، -1 يعني علاقة سلبية كاملة، 0 يعني عدم وجود ارتباط خطي. لكن الارتباط لا يعني السببية: مبيعات الآيس كريم وحوادث الغرق تكون مرتبطة لأن كلاهما يزداد في الصيف.

- إحصاءات التلخيص: المتوسط، الوسيط، الانحراف المعياري、最小، الحد الأقصى. في pandas: df.describe() تعطيك كل هذه in one line.


المهارة الحقيقية

الأدوات سهلة التعلم. الجزء الصعب هو طرح الأسئلة المناسبة. سؤال سيء: 'ماذا يقول البيانات؟' سؤال جيد: 'هل العملاء الذين يتواصلون مع الدعم خلال الأسبوع الأول لديهم معدلات احتفاظ أعلى؟'

أدوات EDA

فخ الارتباط

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

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

أمثلة كلاسيكية:

- المدن التي تحتوي على المزيد من رجال الإطفاء تشهد المزيد من الحرائق. (المدن الأكبر تحتوي على كليهما.)

- الطلاب الذين يتناولون وجبة الإفطار يحصلون على درجات أفضل. (ربما تكون العائلات الأكثر ثراءً أكثر ميلاً لتقديم الإفطار AND الدعم الأكاديمي.)

- الدول التي تستهلك المزيد من الشوكولاتة تفوز بمزيد من جوائز نوبل. (كلاهما يرتبط بالثروة الوطنية.)

العامل الخفي يُسمى متغير مربك: وهو متغير ثالث يؤثر على كلا المتغيرين اللذين تنظر إليهما.

Correlation vs. Causation

تجد شركة أن الموظفين الذين يستخدمون صالة الألعاب الرياضية في المكتب لديهم أيام مرضية أقل بنسبة 30%. يريد الرئيس التنفيذي إلزام جميع الموظفين باستخدام الصالة. ما المشكلة في هذا الاستدلال؟ ما المتغيرات المربكة التي قد تفسر الارتباط؟

إنشاء متغيرات مفيدة

ما هي هندسة الخصائص؟

الخاصية هي متغير إدخال يستخدمه النموذج للتنبؤات. هندسة الخصائص هي فن إنشاء خصائص جديدة من البيانات الخام لمساعدة النماذج على تعلم أنماط لم تكن تستطيع رؤيتها بطريقة أخرى.

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


التقنيات الشائعة

- التطبيع: تحجيم الأرقام إلى نطاق مشترك (0 إلى 1، أو mean=0 و standard deviation=1). بدون هذا، فإن خاصية مقاسة بالآلاف (الراتب) ستسيطر على خاصية مقاسة بأرقام مفردة (سنوات الخبرة).

- الترميز الواحد الساخن: تحويل المتغيرات الفئوية إلى أعمدة ثنائية. عمود 'color' بقيم [red, blue, green] يصبح ثلاثة أعمدة: 'color_red', 'color_blue', 'color_green'، كل منها بقيم 0 أو 1.

- التقسيم: تحويل متغير مستمر إلى فئات. العمر 0-17 يصبح 'minor'، 18-64 يصبح 'adult'، 65+ يصبح 'senior'. هذا يساعد عندما تكون العلاقة غير خطية.

- خصائص التفاعل: ضرب خاصيتين معًا. 'المساحة بالقدم المربع مضروبة في عدد الحمامات' قد تتنبأ بسعر المنزل بشكل أفضل من أي منهما لوحده.

- المعرفة المجالية: التقنية الأقوى. الطبيب الذي ينشئ خصائص لنموذج طبي يعرف أي قيم مختبرية تهم. المسوق يعرف أن 'الأيام منذ آخر عملية شراء' أكثر فائدة,而不是 'تاريخ الشراء'. لا يمكن لأي خوارزمية أن تحل محل هذا.

تقنيات هندسة الخصائص

ممارسة الخصائص

تطبيق هندسة الخصائص

تخيل أنك تقوم ببناء نموذج للتنبؤ بأي العملاء سيقومون بإلغاء اشتراكهم في خدمة البث التدفقي الشهر القادم. بياناتك الخام تشمل:

- تاريخ إنشاء الحساب

- تاريخ آخر تسجيل دخول

- عدد العروض التي تمت مشاهدتها خلال الشهر الماضي

- مبلغ الدفع الشهري

- تذاكر دعم العملاء المقدمة

- البلد

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

تقسيم التدريب/الاختبار

لماذا تقوم بتقسيم بياناتك

القاعدة الأهم في النمذجة: لا تقم أبدًا بتقييم النموذج على نفس البيانات التي دربته عليها.

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

الممارسة القياسية هي تقسيم بياناتك:

- مجموعة التدريب (عادةً 70-80%): يتعلم النموذج منها

- مجموعة الاختبار (عادةً 20-30%): تُحفظ جانبًا، وتُستخدم فقط لتقييم النموذج النهائي

في scikit-learn: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)


الخوارزميات الشائعة

- الانحدار الخطي: يرسم أفضل خط مستقيم يناسب البيانات. بسيط، قابل للتفسير، ويعمل عندما تكون العلاقة تقريباً خطية. يتنبأ برقم (سعر، درجة حرارة، نتيجة).

- أشجار القرار: مخطط انسيابي من الأسئلة بنعم/لا. سهل الفهم والشرح. عرضة للإفراط في التكيف ما لم يتم تقليمها أو تقييد عمقها.

- الغابات العشوائية: العديد من أشجار القرار التي تُصوِّت معاً. أكثر دقة من شجرة واحدة، أقل عرضة للإفراط في التكيف، لكن أصعب في الشرح.


الإفراط في التكيف مقابل التقصير في التكيف

- الإفراط في التكيف: النموذج معقد ل príب. يحفظ بيانات التدريب، بما في ذلك الضوضاء. دقة عالية على بيانات التدريب,低 دقة على بيانات الاختبار.

- التقصير في التكيف: النموذج过于简单. لا يستطيع التقاط الأنماط الحقيقة. دقة منخفضة على بيانات التدريب وبيانات الاختبار كليهما.

الهدف هو النقطة المثالية بين الاثنين.

تقسيم التدريب/الاختبار ومقايضة التحيز والتباين [BLOCK_TYPE modeling/evaluation]

مقاييس التقييم [BLOCK_TYPE modeling/evaluation]

كيف تعرف إذا كان نموذجك جيدًا؟
[BLOCK_TYPE modeling/evaluation]

الدقة وحدها قد تكون مضللة. إذا كانت 95% من الرسائل الإلكترونية ليست بريدًا عشوائيًا، فإن نموذجًا يقول دائمًا "ليس بريدًا عشوائيًا" سيكون دقيقًا بنسبة 95%: لكنه عديم الفائدة تمامًا. [BLOCK_TYPE modeling/evaluation]

المقاييس الرئيسية: [BLOCK_TYPE modeling/evaluation]

- الدقة: نسبة التنبؤات الصحيحة. مفيدة عندما تكون الفئات متوازنة. [BLOCK_TYPE modeling/evaluation]

- الدقة الإيجابية (Precision): من بين كل ما صنفه النموذج على أنه إيجابي، كم منها كان إيجابيًا فعلاً؟ تعني الدقة الإيجابية العالية قلة الإنذارات الكاذبة. [BLOCK_TYPE modeling/evaluation]

- الاستدعاء (Recall): من بين كل الحالات الإيجابية الفعلية، كم منها استطاع النموذج التقاطه؟ يعني الاستدعاء العالي قلة الحالات الفائتة.

- درجة F1: المتوسط التوافقي للدقة والاستدعاء. مفيدة عندما تحتاج إلى التوازن بين الاثنين.

- RMSE (جذر متوسط مربع الخطأ): للانحدار (التنبؤ بالأرقام). ما مدى بعد التوقعات عن القيم الحقيقية في المتوسط؟

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

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

أنت تبني نموذجاً للكشف عن معاملات بطاقات الائتمان الاحتيالية. فقط 0.1% من المعاملات تكون احتيالية فعلاً. إذا تنبأ نموذجك بأن كل معاملة سليمة، فما هي دقته؟ لماذا تعتبر الدقة مقياساً سيئاً هنا، وما المقياس الذي تستخدمه بدلاً منها؟

محلل بيانات مقابل عالم بيانات مقابل مهندس تعلم آلي

ثلاثة أدوار متميزة

يحتوي مجال البيانات على ثلاث مسارات مهنية رئيسية، وتتطلب كل منها مهارات مختلفة.


محلل بيانات

- التركيز: الإجابة على أسئلة الأعمال باستخدام البيانات الموجودة

- الأدوات: SQL، Excel، Tableau، Python أو R الأساسي

- اليوميات: لوحات المعلومات، التقارير، تحليل اختبارات A/B، عروض أصحاب المصلحة

- مسار الدخول: غالبًا ما يكون الأكثر سهولة. يبدأ العديد من المحللين بدون درجة في علوم الحاسب.


عالم بيانات

- التركيز: بناء النماذج التنبؤية واكتشاف الأنماط في البيانات المعقدة

- الأدوات: Python (pandas، scikit-learn، matplotlib)، الإحصاء، SQL، Jupyter notebooks

- اليومي: تحليل البيانات الاستكشافي (EDA)، هندسة الميزات، بناء النماذج، التجريب

- مسار الدخول: يتطلب عادة خلفية في الإحصاء أو المجالات الكمية. المعسكرات التدريبية والدراسة الذاتية خيارات متاحة.


مهندس تعلم الآلة

- التركيز: نشر وتوسيع نطاق النماذج في أنظمة الإنتاج

- الأدوات: Python، TensorFlow/PyTorch، Docker، منصات الحوسبة السحابية (AWS/GCP)، واجهات البرمجة (APIs)

- اليومي: تحسين النماذج، بنية خطوط الأنابيب، مراقبة النماذج في الإنتاج

- مسار الدخول: يتطلب عادة مهارات قوية في هندسة البرمجيات بالإضافة إلى معرفة بالتعلم الآلي.


بناء محفظة أعمال

يهتم مديرو التوظيف بما يمكنك فعله، وليس فقط بما درستَه. محفظة تضم 3-5 مشاريع قوية على GitHub أهم من الشهادات. المشاريع الجيدة تستخدم مجموعات بيانات حقيقية (وليست تجريبية)، وتتضمن توثيقًا واضحًا، وتعرض خط الأنابيب الكامل: من البيانات الخام إلى الرؤى القابلة للتنفيذ.

مسارات مهنة البيانات

خطواتك التالية

إلى أين تذهب من هنا

أدوات المهنة مجانية ومتاحة:

- pandas: مكتبة بايثون القياسية لمعالجة البيانات

- matplotlib / seaborn: مكتبات التصور البياني

- scikit-learn: الأداة الأساسية لتعلم الآلة التقليدي

- Jupyter notebooks: بيئات البرمجة المتفاعلة حيث يمكنك مزج الكود والمخرجات والملاحظات

- Kaggle: مجموعات بيانات مجانية، ومسابقات، ومجتمع من الممارسين

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

بناءً على ما تعلمته في هذا الدرس، أي من الأدوار الثلاثة (محلل بيانات، عالم بيانات، أو مهندس تعلم آلة) يثير اهتمامك أكثر؟ ما هي إحدى الخطوات الملموسة التي يمكنك اتخاذها هذا الأسبوع لبناء المهارات اللازمة لتلك الدور؟