تحسين هندسة الميزات: الخطوات التسع الرئيسية للانتقال من الصفر إلى التشغيلي

Feature Engineering Optimization : الأساسيات في مقال واحد — كود حقيقي، مخططات وخطوات ملموسة، مقتطفات من دورة مكونة من 43 درسًا.

تحسين هندسة الميزات: الخطوات التسع الرئيسية للانتقال من الصفر إلى التشغيلي

يمكن للجميع تعلم Feature Engineering Optimization — بشرط اتباع الخطوات بالترتيب الصحيح. لقد لخصنا دورة كاملة من 43 درسًا في مسار واضح، مع أكثر مقتطفات الكود فائدة.

tl;dr
  • المقدمة والتثبيت
  • استكشاف البيانات وتنظيفها
  • ترميز المتغيرات الفئوية
  • التحويلات العددية
  • الميزات الزمنية والنصية
~$ cat ./parcours.md # Feature Engineering Optimization — 9 فصول
01
مقدمة وتثبيت
→ تقديم الدورة ولماذا FE مهم→ تثبيت Python و scikit-learn و XGBoost و Optuna+ 1 دروس أخرى
02
استكشاف وتنظيف البيانات
→ تدقيق كامل لمجموعة بيانات→ اكتشاف ومعالجة القيم المفقودة+ 2 دروس أخرى
03
ترميز المتغيرات الفئوية
→ Label Encoding vs One-Hot Encoding→ Target Encoding وتسرب البيانات+ 2 دروس أخرى
04
التحويلات الرقمية
→ StandardScaler, MinMaxScaler, RobustScaler→ التحويلات اللوغاريتمية و Box-Cox+ 2 دروس أخرى
05
الميزات الزمنية والنصية
→ الميزات الزمنية، اليوم، الشهر، الموسم، عطلة نهاية الأسبوع→ ميزات التاريخ النسبية، القدم، الفجوة+ 2 دروس أخرى
06
اختيار الميزات
→ طرق التصفية، الارتباط والمعلومات المتبادلة→ Recursive Feature Elimination (RFE)+ 2 دروس أخرى
07
تحسين المعاملات الفائقة
→ GridSearchCV vs RandomizedSearchCV→ Optuna، التحسين البيزي+ 1 دروس أخرى
08
القابلية للتفسير والإنتاج
→ أهمية الميزة وأهمية التبديل→ SHAP — التفسيرات المحلية والعالمية+ 1 دروس أخرى
🏁
المشروع النهائي (+ 1 فصول في الطريق)
→ تغادر بمشروع ملموس وقابل للعرض

EDA وهندسة الميزات

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

الأهداف التعليمية

TIPفي نهاية هذه الوحدة
  • إجراء تدقيق سريع وتحديد المشكلات
  • معالجة القيم المفقودة والقيم الشاذة
  • ترميز الفئويات دون تسرب
  • إنشاء ميزات أعمال ذات قيمة مضافة عالية
  • تجميع المعالجة المسبقة في ColumnTransformer

التدقيق السريع لمجموعة البيانات

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

تثبيت Python وscikit-learn وXGBoost وOptuna

NOTEالهدف — إعداد بيئة Python معزولة وقابلة للتكرار، تثبيت حزمة علوم البيانات الكاملة (Pandas، scikit-learn، XGBoost، Optuna، SHAP) والتحقق من عمل كل شيء.

الأهداف التعليمية

TIPفي نهاية هذه الوحدة
  • إنشاء بيئة افتراضية معزولة باستخدام venv
  • تثبيت حزمة علوم البيانات عبر pip
  • فهم سبب ضرورة العزل
  • التحقق من إصدارات كل مكتبة
  • تشغيل Jupyter Notebook أو JupyterLab

لماذا بيئة افتراضية؟

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

بدون عزل، قد يؤدي تثبيت XGBoost 2.0 لمشروع إلى إتلاف مشروع قديم يعتمد على XGBoost 1.7. مع venv، يعيش كل مشروع في فقاعته الخاصة.

WARNINGتنبيه: لا تثبت مكتباتك أبدًا في Python النظام العام. على Linux وmacOS، قد يؤدي ذلك إلى إتلاف أدوات نظام التشغيل التي تعتمد على Python.

إنشاء وتفعيل البيئة

افتح طرفية في مجلد مشروعك ونفذ:

إذا ظهر خطأ

تحقق من تفعيل venv (يظهر الموجه (.venv)) وأعد تشغيل pip install للمكتبة الناقصة.

TIPنصيحة: ثبت إصداراتك باستخدام pip freeze > requirements.txt. يمكن لأي شخص (أو أنت بعد ستة أشهر) إعادة إنشاء البيئة نفسها باستخدام pip install -r requirements.txt.

تشغيل Jupyter

يمكن متابعة الدورة كاملة داخل الدفاتر. شغّل JupyterLab من venv النشط:

أول خط أنابيب كامل على Iris أو Titanic

NOTEالهدف — بناء خط أنابيب تعلم آلي كامل من البداية إلى النهاية: تحميل مجموعة بيانات، تقسيمها، تدريب نموذج وتقييم أدائه. هذا الهيكل الذي سنثريه طوال الدورة.

الأهداف التعليمية

TIPفي نهاية هذه الوحدة
  • تحميل مجموعة بيانات من scikit-learn أو seaborn
  • فصل train وtest بشكل صحيح
  • تجميع Pipeline scikit-learn أساسي
  • تدريب وتقييم نموذج مرجعي (baseline)
  • فهم سبب ضرورة baseline

الحدس: وضع مرجع قبل كل شيء

قبل تحسين أي شيء، تحتاج إلى نقطة مقارنة. الـ baseline هو نموذج بسيط وسريع يعطي درجة أولى. يُقاس أي تحسين في هندسة الميزات أو الضبط بالنسبة له. بدون baseline، لا تعرف إن كانت جهودك مجدية.

فكر في سباق: الـ baseline هو وقتك في المحاولة الأولى. من المفترض أن تتفوق كل تحسين على هذا الزمن. إذا لم تتفوق، فهي بلا فائدة.

تحميل مجموعة بيانات Titanic

تحتوي مجموعة بيانات Titanic على الركاب مع فئتهم وجنسهم وعمرهم والهدف survived (0 أو 1). وهي كلاسيكية لتعلم FE لأنها تجمع بين الفئويات والقيم المفقودة.

ما يحدث عند التنبؤ

تُطبق التحويلات نفسها التي تعلمت على train على test، دون إعادة تعلم أي شيء. هذا ما يمنع تسرب البيانات.

TIPنصيحة: احتفظ بهذه الدرجة حوالي 0.80 في ذهنك. في الفصول التالية، سننشئ ميزات جديدة (العنوان المستخرج من الاسم، حجم العائلة) لتجاوزها.
va-plus-loin

تغطي هذه المقالة المقتطفات الأكثر فائدة — الدورة الكاملة Feature Engineering Optimization (11 فصول، 43 درسًا، تمارين مصححة ومشروع نهائي) تأخذك إلى النهاية.

./acceder-au-cours-complet cours gratuit : Maîtriser Claude Code

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

كم من الوقت لتعلم Feature Engineering Optimization؟
مع تقدم منظم (11 فصول، 43 درسًا قصيرًا وعمليًا)، يمكن الوصول إلى مستوى تشغيلي في بضعة أسابيع بمعدل 30 إلى 60 دقيقة يوميًا. المهم هو تطبيق كل مفهوم فورًا.
هل هناك متطلبات مسبقة؟
تكفي أساسيات في الحوسبة. إذا كنت تعرف استخدام الطرفية وقراءة كود بسيط، فأنت جاهز.
من أين نبدأ عمليًا؟
طبّق أوامر هذه المقالة، ثم تابع دورة Feature Engineering Optimization الكاملة: تتسلسل فيها الـ 43 درسًا بالترتيب مع تمارين ومشروع نهائي.

📬 هل تريد تلقي هذا النوع من الأدلة كل أسبوع؟ اشترك مجانًا — كود حقيقي، بدون كلام فارغ.