شجرة القرار
الدرس 17 من 19 في دورة مقدمة في تعلم الآلة على Coddy.
شجرة القرار (Decision Tree) هي نموذج غير خطي يُستخدم لمهام التصنيف والانحدار على حد سواء. وهي تحاكي عملية اتخاذ القرار البشري بشكل أوثق من الخوارزميات الأخرى، مما يجعلها بديهية وقوية للتعامل مع مجموعات البيانات المعقدة. في جوهرها، تقوم شجرة القرار بتقسيم البيانات إلى مجموعات فرعية باستخدام سلسلة من القواعد البسيطة، وهو ما يشبه طرح سلسلة من أسئلة نعم/لا حول ميزات نقاط البيانات.

المصدر: ويكيبيديا
تخيل شجرة القرار كرسم بياني يشبه الشجرة، حيث:
- تمثل كل عقدة داخلية "اختباراً" على سمة معينة (على سبيل المثال، ما إذا كانت نتيجة رمي العملة هي وجه أم ظهر)،
- يمثل كل فرع نتيجة الاختبار، و
- تمثل كل عقدة ورقية (leaf node) تسمية فئة (القرار المتخذ بعد حساب جميع السمات).
أنواع أشجار القرار:
- أشجار التصنيف (Classification Trees): تُستخدم عندما تكون النتيجة المتوقعة هي الفئة التي تنتمي إليها البيانات.
- أشجار الانحدار (Regression Trees): تُستخدم عندما يمكن اعتبار النتيجة المتوقعة رقماً حقيقياً (مثل سعر المنزل).
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
التحدي
متوسطقم بإنشاء دالة باسم decide_outcome تستقبل قائمة من القواعد بالتنسيق التالي:
rules = {
rule1: {"type": "bigger", "value": 5},
rule2: {"type": "smaller", "value": 7},
}وتستقبل القاعدة التي يجب الانتقال إليها إذا تحقق الشرط أم لا:
outcome = {
"rule1": {True: "rule2", False: "rule3"},
"rule2": {True: "rule3", False: "rule4"},
"rule3": {True: None, False: None}
"rule4": {True: None, False: None}
}data_point = {
"rule1": 8,
"rule2": 10,
}يجب أن يكون المخرج هو rule4
8 أكبر من 5 (True)← انتقل إلىrule2من هذا"rule1": {True: "rule2", False: "rule3"},10 أصغر من 7 (False)← انتقل إلىrule4من هذا"rule2": {True: "rule3", False: "rule4"},- لا توجد طرق أخرى للمتابعة، لذا فإن المخرج هو
rule4
ابدأ دائماً من <strong>rule1</strong>
جرّب بنفسك
def decide_outcome(rules, outcome, point):
current_rule = "rule1"
# اكتب كودك هناجميع دروس مقدمة في تعلم الآلة
6نماذج أخرى
الانحدار اللوجستيالانحدار الخطيشجرة القرارآلة المتجهات الداعمة (SVM)اختبار قصير حول النماذجتدرّب بنفسك: مترجم Python عبر الإنترنت