עצי החלטה

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

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

קוד 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

החיזוי יהיה כלב. נתיב ההסקה יהיה:

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

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

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

 

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

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

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

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