התאמת יתר וקיצוץ
בעזרת האלגוריתם שתואר למעלה, אנחנו יכולים לאמן עץ החלטות שיסווג בצורה מושלמת דוגמאות לאימון, בהנחה שהדוגמאות ניתנות להפרדה. עם זאת, אם מערך הנתונים מכיל רעש, העץ הזה יתאים את הנתונים לנתונים ויפגין רמת דיוק נמוכה בבדיקה.
האיור הבא מציג מערך נתונים עם רעש עם קשר לינארי בין תכונה x לתווית y. באיור מוצג גם עץ החלטות שעבר אימון על מערך הנתונים הזה, ללא סוג של רגולזציה. המודל הזה חוזה בצורה נכונה את כל דוגמאות האימון (החיזוי של המודל תואם לדוגמאות האימון). עם זאת, במערך נתונים חדש שמכיל את אותו דפוס לינארי ומכונת רעש אחרת, הביצועים של המודל יהיו נמוכים.
איור 12. מערך נתונים עם רעש.
כדי להגביל את ההתאמה של עץ ההחלטות, תוכלו להחיל אחד מהקריטריונים הבאים לרגולטור, או את שניהם, בזמן אימון עץ ההחלטות:
- הגדרת עומק מקסימלי:מניעה של עצי החלטות לגדול מעבר לעומק מקסימלי של 10.
- הגדרת מספר מינימלי של דוגמאות ברמת עלה: עלה עם מספר דוגמאות קטן ממספר מסוים של דוגמאות לא ייחשב לפיצול.
האיור הבא ממחיש את ההשפעה של מספר מינימלי שונה של דוגמאות לכל עלה. המודל קולט פחות מהרעש.
איור 13. מספר מינימלי של דוגמאות לכל עלה.
אחרי האימון אפשר גם להסיר (לחתוך) הסתעפויות מסוימות באופן סלקטיבי, כלומר להמיר צמתים מסוימים שאינם עלים לעלים. פתרון נפוץ לבחירת ההסתעפויות להסרה הוא להשתמש במערך נתונים לאימות. כלומר, אם הסרת הסתעפות משפרת את איכות המודל במערך הנתונים של האימות, ההסתעפות תוסר.
השרטוט הבא ממחיש את הרעיון הזה. כאן אנחנו בודקים אם רמת הדיוק של האימות של עץ ההחלטות תשתפר אם הצומת הירוק ללא עלה יהפוך לעלה. כלומר, חיתוך הצמתים הכתומים.
איור 14. גיזום תנאי והילדים שלו לעלה.
האיור הבא ממחיש את ההשפעה של שימוש ב-20% ממערך הנתונים כאימות לגזירה של עץ ההחלטות:
איור 15. משתמשים ב-20% ממערך הנתונים כדי לגיזום עץ ההחלטות.
שימו לב ששימוש במערך נתונים לאימות מפחית את מספר הדוגמאות הזמינות לאימון הראשוני של עץ ההחלטות.
יוצרי מודלים רבים מחילים כמה קריטריונים. לדוגמה, תוכלו לבצע את כל הפעולות הבאות:
- צריך להחיל מספר מינימלי של דוגמאות לכל עלה.
- החלת עומק מקסימלי כדי להגביל את הצמיחה של עץ ההחלטות.
- מקצצים את עץ ההחלטות.
- מספר הדוגמאות המינימלי הוא 5 (
min_examples = 5
) - 10% ממערך הנתונים לאימון נשמרים לצורך אימות
(
validation_ratio = 0.1
).
validation_ratio=0.0
.
הקריטריונים האלה כוללים היפר-פרמטרים חדשים שצריך לכוונן (למשל, עומק עץ מקסימלי), לעיתים קרובות באמצעות כוונון אוטומטי של היפר-פרמטר. עצי החלטה מהירים מספיק בדרך כלל כדי לאמן להשתמש בכוונון היפר-פרמטר עם אימות צולב. לדוגמה, במערך נתונים עם דוגמאות 'n':
- חלקו את דוגמאות האימון לקבוצות P שאינן חופפות. לדוגמה:
p=10
. - לכל ערכי ההיפר-פרמטר האפשריים. לדוגמה, עומק מקסימלי ב-{3,5,6,7,8,9} ודוגמאות מינימליות ב-{5,8,10,20}.
- מעריכים את האיכות של עץ ההחלטות שעבר אימון על קבוצות p-1 האחרות.
- הערכת הממוצע של כל הקבוצות.
- בוחרים את ערך ההיפר-פרמטר עם ההערכה הממוצעת הטובה ביותר.
- אימון עץ החלטות סופי באמצעות כל הדוגמאות 'n' עם ההיפר-פרמטרים שנבחרו.
בקטע הזה עסקנו בדרכים שבהן עצי ההחלטות מגבילים את התאמת היתר. למרות השיטות האלה, התאמה חסרת תקדים והתאמת יתר הן נקודות החולשה העיקריות של עצי ההחלטות. ביערות החלטות מתווספות שיטות חדשות להגבלת התאמת יתר, שאותן נראה בהמשך.
פרשנות של עץ החלטות ישיר
ניתן לפרש בקלות את עצי ההחלטה. עם זאת, שינוי אפילו כמה דוגמאות יכול לשנות לחלוטין את המבנה של עץ ההחלטות, ובעקבות זאת את הפרשנות שלו.
בגלל האופן שבו נוצרים עצי החלטות, ובאמצעות החלוקה למחיצות לדוגמה של האימון אפשר להשתמש בעץ ההחלטות כדי לפרש את מערך הנתונים עצמו (בניגוד למודל). כל עלה מייצג פינה מסוימת במערך הנתונים.
model.describe()
.
אפשר גם לגשת לעצים נפרדים ולהשרטט אותם באמצעות model.get_tree()
.
לפרטים נוספים, אפשר לעיין ב
מדריך לבדיקת המודל של YDF.
עם זאת, הפרשנות העקיפה היא גם אינפורמטיבית.