تفاصيل العمل

توقع استهلاك الطاقة في جلسات شحن السيارات الكهربائية (EV Charging)

الفكرة: Pipeline ML لتوقع كمية الطاقة المستهلكة في كل جلسة شحن (El_kWh) على بيانات حقيقية لشحن السيارات الكهربائية، مع تصحيح أخطاء موجودة في النسخة الأساسية (Baseline) وتحسين الدقة بشكل واضح.

النتيجة الرئيسية: رفع الـ R² من ~0.85 إلى ≥ 0.90 باستخدام Stacking Ensemble وFeature Engineering محسّن.

اللي اتصلّح مقارنة بالنسخة الأساسية:

الموديلات الشجرية كانت بتستخدم مميزات PCA، فرجعتها للمميزات الأصلية (PCA بقى للموديلات الخطية بس).

إضافة مميزات على مستوى المستخدم (Leave-One-Out user mean) بدون تسريب البيانات.

استبدال الترميز الخطي للوقت بترميز دائري (sin/cos) عشان يناير وديسمبر ميبقوش بعيد عن بعض.

استبدال الموديل الواحد بـ Stacking Ensemble.

اللي اتعمل:

EDA: التوزيعات والارتباطات والقيم المفقودة والأعمدة الفئوية.

التنضيف: Median Imputation، ومعالجة القيم المتطرفة بالـ Percentiles (1% و99%) بدون حذف صفوف.

Feature Engineering (20+ ميزة):

Log وPolynomial للمدة.

ترميز دائري للساعة والشهر واليوم.

تفاعلات المرونة (Flex).

مؤشرات سلوكية (مشاركة، ويك إند، ليل).

مميزات المستخدم (LOO mean/std وعدد الجلسات) — وهي أقوى ميزة منفردة.

مميزات الطقس والاقتصاد.

بدون Data Leakage: كل التحويلات (Scaling وPCA) بتتعلم من بيانات التدريب بس.

KMeans (k=3): رقم الـ Cluster كميزة إضافية.

مقارنة 7 موديلات بـ 5-fold CV، وضبط بـ RandomizedSearchCV.

Stacking Ensemble: Random Forest + HistGradientBoosting + Gradient Boosting، مع Ridge كـ Meta-learner.

التقييم: R² وMAE وRMSE وMAPE، مع تحليل البواقي وPermutation Importance ومنحنى التعلم.

المخرجات: 7 رسومات، منها خريطة القيم المفقودة، الارتباطات، التقييم النهائي، Learning Curve، وأهمية المميزات.

الأدوات: Python • Pandas • Scikit-learn • XGBoost • Matplotlib/Seaborn

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات