עצי החלטה

מודלים של יער החלטות מורכבים מעצי החלטה. יער החלטות אלגוריתמים של למידה (כמו יערות אקראיים) מסתמכים, לפחות באופן חלקי, על ללמוד על עצי החלטות.

בחלק הזה של הקורס תלמדו מערך נתונים קטן לדוגמה איך מאמנים עץ החלטות יחיד. בחלקים הבאים נסביר איך עצי ההחלטה משלבים את יערי ההחלטה לרכבות.

קוד YDF

ב-YDF, תוכלו להשתמש בלומדי CART כדי לאמן מודלים נפרדים של עץ החלטות:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

המודל

עץ החלטות הוא מודל שמורכב מאוסף של "שאלות" מאורגן בפורמט היררכי של עץ. השאלות נקראות בדרך כלל תנאי, פיצול או בדיקה. נשתמש במונח "מצב" באזור בכיתה הזו. כל צומת ללא עלה מכיל תנאי, וכל צומת עלה מכיל חיזוי.

עצים בוטניים בדרך כלל צומחים עם השורש בחלק התחתון. עם זאת, החלטה עצים בדרך כלל מיוצגים באמצעות השורש (הצומת הראשון) בחלק העליון.

עץ החלטות שמכיל שני תנאים ושלושה עלים. הראשון
התנאי (השורש) הוא num_legs >= 3; התנאי השני הוא
num_eyes >= 3. שלושת העלים הם פינגווין, עכביש,
והכלב.

איור 1. עץ החלטות פשוט לגבי סיווג. המקרא בירוק אינו חלק של עץ ההחלטות.

 

המסקנות של מודל עץ ההחלטות מחושבות על ידי ניתוב דוגמה שורש (בחלק העליון) לאחד מצמתי העלים (בחלק התחתון) בהתאם את התנאים וההגבלות. הערך של העלה הירוק הוא החיזוי של עץ ההחלטות. קבוצת הצמתים שבהם מבקרים נקראת נתיב ההסקה. לדוגמה, אנחנו לוקחים בחשבון את ערכי התכונות הבאים:

num_legs num_eyes
4 2

החיזוי הוא dog. נתיב ההסקה יהיה:

  1. num_legs ≥ 3 ← כן
  2. num_eyes ≥ 3 ← לא

אותו איור כמו באיור 1, אבל באיור הזה מוצג
  נתיב הסקת מסקנות בשני תנאים, שמסתיים בעליה של כלב.

איור 2. נתיב ההסקה שמגיע לשיא בעליה *כלב* בדוגמה *{num_legs : 4, num_eyes : 2}*.

 

בדוגמה הקודמת, העלים של עץ ההחלטות מכילים סיווג חיזויים; כלומר, כל עלה מכיל מין של בעלי חיים של מינים אפשריים.

באופן דומה, עצי החלטות יכולים לחזות ערכים מספריים על ידי תיוג עלים עם חיזויים רגרסיביים (ערכים מספריים). לדוגמה, ההחלטה הבאה עץ מפיק חיזוי מספרי חמודות של בעל חיים בין 0 ל-10.

עץ החלטות שבו כל עלה מכיל נקודה צפה (floating-point) שונה
  מספר.

איור 3. עץ החלטות שמספק חיזוי מספרי.