الوحدة 5 — أشجار القرار: القراءة والحدود
شجرة القرار أكثر النماذج إنسانيةً: سلسلة أسئلة نعم/لا، تماماً كدليل تشخيص. يستطيع أيّ أحد قراءتها — ميزةٌ نادرة. لكنّ هذه البساطة تُخفي عيباً بنيوياً، الإفراط في التعلّم، وقد جعل علاجُه (الوحدة 6: الغابات) الأشجارَ المُكوِّنَ الأساس لأفضل نماذج البيانات الجدولية اليوم.
سلسلة أسئلة تقسّم الفضاء
تُصنّف الشجرة بطرح سلسلة أسئلة على المتغيّرات: «الدخل > 30000 يورو؟»، ثمّ بحسب الجواب «العمر < 25؟»، وهكذا نزولاً إلى ورقة تعطي التنبّؤ. كلّ سؤال يقسّم فضاء المتغيّرات إلى اثنين؛ وتُشكّل الأوراق مناطق يتنبّأ فيها النموذج بالصنف الأغلب (أو المتوسّط، في الانحدار).
from sklearn.tree import DecisionTreeClassifier, plot_tree
model = DecisionTreeClassifier(max_depth=3).fit(X_train, y_train)
plot_tree(model, feature_names=features, filled=True) # النموذج، مقروءاً بنظرة
قوّةٌ لافتة: لا حاجة إلى تقييس (كلّ سؤال يخصّ متغيّراً واحداً في كلّ مرّة، بلا مسافات)، وتتعايش المتغيّرات الصنفية والعددية بلا عناء.
كيف تختار الشجرة أسئلتها
عند كلّ عقدة تُجرّب ال خوارزمية كلّ انقسام ممكن (كلّ متغيّر، كلّ عتبة) وتُبقي على الذي يُنتِج أبناءً أنقى — أكثر تجانساً من حيث الأصناف. والمقياس المعياري للنقاء هو لاطهارة Gini: تساوي 0 حين لا يحوي الفريق إلّا صنفاً واحداً، وتبلغ الأقصى حين تختلط الأصناف بالتساوي. وفي كلّ مرحلة تختار الشجرة جشعاً الانقسامَ الذي يُخفّض اللاطهارة أكثر.
يُعطي هذا البناء نتاجاً جانبياً مقروءاً: بجمع إسهام كلّ متغيّر في خفض اللاطهارة نحصل على أهمّيات المتغيّرات في الشجرة (feature_importances_) — جوابٌ أوّل عن «أيّ المتغيّرات تُهِمّ؟».
العيب البنيوي: إفراطٌ مضمون في التعلّم
إن تُرِكت حرّة، تستمرّ الشجرة في الانقسام حتى تعزل كلّ نقطة تدريبية في ورقتها: دقّةٌ 100% على التدريب، وتعميمٌ كارثي. إنّه النموذج الأصلي للإفراط في التعلّم كما في دورة الرياضيات — تباينٌ أقصى. وليست هذه هشاشتها الوحيدة: غيّر بضعة صفوف من مجموعة البيانات فقد تختار الشجرة سؤالاً أوّل مختل فاً، فتُعيد بناء البنية كلّها. الشجرة غير مستقرّة.
كبح الشجرة: التقليم والقيود
نُلجِم الشجرة بتحديد نموّها:
| المعامل | الأثر |
|---|---|
max_depth | يحدّ من عدد مستويات الأسئلة |
min_samples_leaf | يمنع الأوراق شبه الفارغة |
min_samples_split | يشترط نقاطاً كافية قبل الانقسام |
ترفع هذه القيود الانحياز لتخفض التباين — المقايضة المعتادة، مضبوطةً بالتحقّق المتقاطع.
حتى بعد التقليم، تبقى الشجرة الوحيدة غير مستقرّة ومتواضعة إلى جانب الطرائق الحديثة. قيمتها الحقيقية: أداةَ شرح (استخراج قو اعد عمل مقروءة) وقبل ذلك لَبِنةَ التجميعات. مئة شجرة تتلاشى أخطاؤها — تلك هي الغابة العشوائية، موضوع الوحدة التالية وجوابٌ باهر عن اللااستقرار الذي شُخِّص للتوّ.
الخلاصة
- تُكدّس الشجرة أسئلة نعم/لا وتتنبّأ في الأوراق؛ مقروءةٌ بنظرة، بلا حاجة إلى تقييس.
- تُختار الانقسامات بتصغير اللاطهارة (Gini)؛ والنتاج الجانبي هو أهمّيات المتغيّرات.
- إن تُرِكت حرّة، تُفرِط الشجرة دائماً في التعلّم وتبقى غير مستقرّة؛ نكبحها بـ
max_depthوmin_samples_leafوmin_samples_split. - دورها الحقيقي: أداة شرح ومُكوِّن أساس للتجميعات — الغابات والتعزيز لاحقاً.
الوحدة التالية: الغابات العشوائية، أو كيف يُنتِج تصويتُ مئات الأشجار الناقصة نموذجاً متيناً.