Covertype Advanced: تصنيف أنواع الغطاء الغابي باستخدام عدة نماذج
مشروع تعلم آلي متكامل (من البيانات للنتيجة النهائية) بيتنبأ بنوع الغطاء الغابي (من 7 أنواع) لقطع أرض مساحة كل واحدة 30 × 30 متر في ولاية كولورادو، باستخدام بيانات UCI Covertype (581,012 صف، و54 خاصية أصلية، والتصنيفات غير متوازنة بشكل كبير).
أهم ما في المشروع
التحقق من البيانات: فحص الـ 7 فئات المستهدفة، ونطاقات القيم الرقمية، وأعمدة الـ one-hot، والتأكد إن كل صف فيه علامة واحدة بس للمنطقة البرية (wilderness area) وعلامة واحدة بس لنوع التربة. وسبت التكرارات زي ما هي لأن تكرار البروفايلات الجغرافية عينات صالحة في الداتا دي.
هندسة الخصائص: توسيع الخصائص من 54 لـ 62 باستخدام sine/cosine للـ aspect، والمسافة ثلاثية الأبعاد لأقرب مصدر مياه، ومتوسط ومدى الـ hillshade، وخصائص اللوغاريتم للمسافات.
تقييم بدون تسريب بيانات: تقسيم طبقي (stratified) بنسبة 70% تدريب و15% تحقق و15% اختبار، مع ضبط الـ scaling جوه الـ pipelines الخاصة بالنماذج الخطية بس. واستخدمت مجموعة الاختبار مرة واحدة في الآخر.
مقارنة عادلة: تدريب 7 عائلات نماذج على نفس العينة الطبقية (150,000 صف): النموذج الأساسي (prior-only)، Logistic Regression، SGD (log loss)، Decision Tree، Random Forest، Extra Trees، وHistogram Gradient Boosting (مع randomized search وتقييم 3-fold على macro-F1).
التعامل مع عدم توازن الفئات: استخدام class weights في النماذج اللي بتدعمها، وbalanced sample weights مع Gradient Boosting.
اختيار النموذج: اختيار الأفضل بناءً على macro-F1 على مجموعة التحقق، وإعادة تدريبه على (التدريب + التحقق)، وتقييمه على مجموعة الاختبار اللي ماتلمستش قبل كده.
المخرجات المحفوظة: جدول ترتيب النماذج، وأهمية الخصائص بالـ permutation importance، وتقرير التصنيف، وconfusion matrix.
النتائج
جه الـ Random Forest في المركز الأول على مجموعة التحقق (macro-F1 = 0.8645). وعلى مجموعة الاختبار:
المقياس النتيجة
Accuracy 91.78%
Balanced accuracy 0.8856
Macro-F1 0.8740
Macro ROC-AUC 0.9933
وأقوى الخصائص تأثيرًا حسب الـ permutation importance كانت الارتفاع (elevation) والمنطقة البرية (wilderness area).
التقنيات المستخدمة
Python، Pandas، NumPy، scikit-learn، Matplotlib