עצי החלטה

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

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

קוד 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. נתיב ההסקה שמסתיים בעלה *dog* בדוגמה *{num_legs : 4, num_eyes : 2}*.

 

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

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

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

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