Table of Contents
מבוא: מדוע משתנים קטגוריאליים חשובים בעץי ההחלטות
(המודלים של עץ החלטות הם בין אלגוריתמי למידת מכונה המפרשים ביותר, מה שהופך אותם לבחירה לבחירה למשימות סיווג ושיקום בתחומים כמו מימון, בריאות ושיווק, כללי ההחלטות השקופה שלהם מאפשרים לבעלי העניין להבין מדוע חיזוי נעשה, עם זאת, הביצועים והאמינות של עץ לכידת משמעותי תלויים במידה רבה על האופן שבו משתנים קטגוריאליים מעובדים על מנת למנוע נתונים קטגוריאליים - כמו: FLT5:
הבנת משתנים קטגוריאליים
משתנים קטגוריים מייצגים נתונים שיכולים לקחת על מספר מוגבל, קבוע של ערכים אפשריים.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ :0) משתנים אורדיניים (FLT:1) - קטגוריות עם סדר ברור ומשמעותי (למשל, רמת חינוך: בית הספר התיכון, תואר ראשון, דוקטור; שביעות רצון: נמוך, בינוני, גבוה).
ההבחנה היא קריטית כי כל סוג דורש אסטרטגיה שונה של אופטימיזציה כדי לשמור על המידע הטבוע בצוינה.עצים החלטות מתייחסים באופן חד-משמעי תכונות כאילו הם מתמשכים על ידי הערכת סף פיצול; עבור תכונות קטגוריות ללא קידוד, העץ יכול רק לבצע פיצולים בינאריים המבוססים על אם קטגוריה קיימת או לא (כאשר משתמשים ב- 1-hot) או לטפל בתוויתות כפי שצוינו (כאשר משתמשים בקובץ זה).
שיטות נפוצות
קיימות טכניקות שונות, כל אחת עם עצירות מסחר במונחים של ממדיות, פרשיות, והתאמה עם אלגוריתמי עץ החלטות.
המונחים: Ordinal Encoding
התווית ⁇ מקצה אינטגרטור ייחודי לכל קטגוריה, בדרך כלל 0, 1, 2, עבור K קטגוריות. שיטה זו היא פשוטה ויעילה זיכרון כי זה לא להגדיל את מספר התכונות. עם זאת, זה מרמז על מערכת יחסים מלאכותית אודין שיכול להטעות עץ החלטה.לדוגמה, עץ עשוי ללמוד כי פיצול:0 חינוך רמת חינוך; 2, 000 מ"ד"מאמין" הוא"ד"ד"ד"ד"ד"ד, כלומר, כלומר, כלומר, הוא מכיל נתונים "ירוקים" (לא"ל"ל" ( ⁇ ) יותר"ב"ב"ל) יותר"מ" (ב"ב"ב) יותר מאשר "ירוקים) יותר מאשר "ירוקים" (ב"ב"ב" (ב) יותר מאשר "ירוקים) יותר מ" (ב"ב" (ב"ב" (ב) יותר מ" (ב) יותר) יותר מ" (ב" (ב) מ" (ב) יותר) שאינו מכיל "ירוקים) יותר מ" (ב" (ב"ב"ב"ב"ב" (ב" (ב"ב"ב) שאינו מכיל "ירוקים) יותר) כלומר, לדוגמה, לדוגמה, לדוגמה, לדוגמה, "ירוק
(ב) כאשר להשתמש:00 ( מתי) 1 (ראה: 1) רק עבור תכונות קטגוריות אורדיניות שבו סדר האינטגרטור משקף את ההיררכיה האמיתית.
One Hot Encoding
אחד-חם יוצר את המשתנים של K בינארי, כל אחד המייצג את הנוכחות (1) או היעדרה של קטגוריה. שיטה זו מבטלת כל הזמנה מלאכותית, ובדרך כלל בטוח עבור נתונים נומיים.מרבית ספריות עץ ההחלטות, כולל פיסול-לימוד של פיסול-לימוד (FLT:1), עובד היטב עם תכונות חד-פעמיות אחת, כי פיצולים הם פשוט "מבחנים קבוצתיים?"
(ב) [ה]ה']: [ה'] [ה'] [ה'] [ה']'[ה]'[ה]'[ה]']'[ה']'[ב]']'[ה']'[ה']'[ה']'[ה']'[ה']']'[ה']']']'[ה'[ה']']'[ה'[ה']']'[ה'[ה']'[ב[[ה'[ה']']'[ה'[ה']']'[ה'[ה'[ה'[ה']']']']'[ה']']'[ה'[ה']'[ה']']'[ה']']'[ה'[ה']']'[ה'[ה'[ה']']']'[ה']']']'[ה'[ה'[ה'[ה']'[ה']']'[ה'[ה'[ה'[ה'[ה
(FLT:0) טיפ מעשי: 1) 1FLT 1-חם קוד רק לאחר פיצול הנתונים לאימון ובדיקות כדי למנוע דליפות נתונים. Drop קטגוריה אחת (שימוש FLT:2 ב pandas Get dummies) עבור מודלים ליניאריים, אך עבור עצי החלטה שמירה על כל עמודות K בדרך כלל בסדר כי העץ יטפל בהם באופן עצמאי.
תדירות / Target Encoding
Frequency ⁇ להחליף כל קטגוריה עם ספירה (או תדירות יחסית) במערכת האימונים.T.T.T. ⁇ להחליף קטגוריות עם המשמעות של משתנה היעד עבור קטגוריה זו (או גרסה חלקה). שיטות אלה פופולריות עבור תכונות עתירות גבוהה כי הם נמנעים הרחבת המטריקס תכונה.
(FLT:0)Warning:BuildFLT:1 ⁇ דוחף מידע על המטרה לתוך התכונה, אשר יכול לגרום overfitting חמור אם לא מטופלים עם validation או חלקה. LightGBM ו CatBoost מציעים קידוד יעד בנוי עם סדירה המפחיתה את הסיכון הזה.
Frequency ⁇ אינה מדליפת את המטרה, אלא מאבדת את הקשר בין קטגוריה והמטרה. זה עובד הכי טוב כאשר התדירות עצמה היא חיזוי (למשל, קטגוריות נדירות מצביעות על התנהגות יוצאת דופן).
המונחים: Binary Encoding
Binary ⁇ הראשון להמיר קטגוריות לתוויתות integer (0 עד K-1) ולאחר מכן מייצג כל אחד integer בצורה בינארית, יצירת עמודות חדשות של log2(K) היא פשרה בין חד פעמית וקידוד תווית: היא מייצרת פחות תכונות מאשר פיצול חד פעמי אך פחות מפרש. חלק מהמתרגלים מוצאים את זה יעיל עבור תכונות בעלות גבוהה במודלים המבוססים על עץ.
תגית: Encoding
תכונה hashing (או הטריק של הישינג) חל פונקציה hash לכל קטגוריה ולוקח את Modulo של מספר הפלט בינארי.זה יכול להפחית באופן דרסטי את הממדים והוא שימושי כאשר מספר הקטגוריות הוא עצום (למשל, כתובות IP). עם זאת, התנגשות (קטגוריות שונות מיפוי זהה) יכול לזלזל באיכות.
תמיכה ב-Destion Tree Libraries
הספריות מודרניות להגביר את הספריות פיתחה טיפול קאוליטורי ילידים שלעתים קרובות מחלחלים לקידוד ידני.הבנת מה שכל ספריה מציעה יכול לחסוך זמן ולשפר את הדיוק.
פיסול למידה (DecisionTree / RandomForest / GradientBoosting)
(בלטינית: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
(ב) ◄ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
LightGBM
LightGBM יש תמיכה מולדת מצוינת לתכונות קטגוריות.You פשוט מצהיר על התכונה כמו FLT:6 (או להשתמש בפרמטר FLT 7) פנימי זה משתמש אלגוריתם שקטגוריות המבוססים על הסטטיסטיקה של המטרה, מציאת פיצולים אופטימליים ללא התרחבות חד פעמית.זה גם מהיר וגם לא יעיל זיכרון, במיוחד עבור עמודות גבוהה של דיוק.
(ב) ,0) LightGBM, תומך ב-Everph:1
CatBoost
CatBoost מיועד במיוחד לטפל בתכונות קטגוריות באופן מיטבי.זה חל על (FLT:0ordered היעד ⁇ FLT:1 עם גישה מבוססת-היתר המפחיתה את הדלפה המטרה והתאמה יתר.על ידי ברירת מחדל, CatBoost מתייחס לכל התכונות כמו מספרד, אלא אם כן הם מסומנים במפורש באמצעות LT-8 הוא תומך גם טקסט ומטרות מרובות-Booststst של טיפול בקטגורית.
(ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇
XGBOST
נכון לגרסה 1.6, XGBoost הציג תמיכה ניסיונית לתכונות קטגוריות באמצעות פרמטר FLT:9 וטיעוני FLT:10.זה משתמש בגישה מבוססת פיצול דומה LightGBM. עם זאת, היישום הוא עדיין מזייף; מתרגלים רבים ממשיכים להשתמש בקידוד ידני עם XGBoost.
בחירת האסטרטגיה הנכונה
בחירת שיטת קידוד תלויה במספר גורמים:
- (FLT:0)CardinalityFLT:1 - עבור תכונות בעלות נמוכה של קודר ( ⁇ 10 קטגוריות), טבילה אחת פשוטה ויעילה. עבור קרדינל בינוני (10–100), לשקול בינארי או מיקוד. עבור קרדינל גבוה ( >100), למנף תמיכה Native (LightGB / CatBoost) או תדירות / ⁇ .
- (ב) אם אתה כבר משתמש ב- CatBoost או LightGBM, תן לספרייה לטפל בקטגוריות.
- (ב) ,0) הוראות קטגוריות: סעיף 1 (Odinal features should use ordinal ⁇ .com תווית ללא שמירה על הסדר הוא מסוכן עבור נתונים נומינליים.
- (ב) [ה]: [ה] [ה] [ה]] [ה]] [ה]]] [ה]]]] [ה'] [ה'] [ה']'[ה']']'[ה']'[ה']'[ה']'[ה']']'[ה']'']'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- (FLT:0) עומק והתאמה יתר של 1 (FLT:1) ⁇ טרטקטור יכול לגרום overfitting אם לא קבוע; טבילה אחת עלולה להוביל לפיצולים רדודים מאוד עבור קטגוריות נדירות.
תכונות בעלות High-Cardinality
תכונות קדמיות גבוהות (למשל, קודים ZIP, מזהה משתמש, מזהה מוצר) הן קשות לשמצה. ⁇ מסורתית חד-פעמית יוצרת אלפי עמודות דומיה, שרבים מהם מופיעים רק בכמה שורות.
- להגדיל את השימוש בזיכרון ואת זמן האימון באופן דרמטי.
- כי העץ מתחלק לקטגוריות נדירות שאינן כלליות.
- להפוך את המודל רגיש לקטגוריות חדשות המופיעות בייצור (אם לא מטופל עם מלכוד "לא ידוע").
(ב) ,0) , ⁇ (ב)
- (FLT:0)Target ⁇ עם חלקת FLT:1) - להחליף כל קטגוריה עם המטרה פירושו, אבל הקטנת הערכות לקטגוריות קטנות לקראת המשמעות העולמית.
- (FLT:0) ,FLT:1 - השתמש בספירה של כל קטגוריה כתכונה מספרית.זה עובד לעתים קרובות עם מודלים מעץ כי קטגוריות תכופות יותר סביר להיות צופים אמינים.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0grouping קטגוריות נדירות של קטגוריות נדירות: 1) - שילוב כל הקטגוריות המופיעות פחות מאשר, למשל, 5 פעמים לתוך קבוצה אחת של "אחר" אחת, זה מקטין את הקרדינל ומייצב את המודל.
- (FLT:0) שימוש בשיטות ספציפיות העץ של עץ 1 (Lbraries like LightGBM) יכול להתמודד עם קרדינלים עד כמה אלפי ביעילות ללא התפוצצות המטריקס המאפיין כי הם לומדים לקטגוריות קבוצתיות באופן פנימי.
השפעה על ביצועי מודל ובינלאומיות
שיטת האנתרופולוגיה משפיעה ישירות הן על הדיוק והן על הפרשות של עצי ההחלטות.לדוגמה, אחד-חם מניב פיצולים קלים להסביר: "אם הכיבוש הוא 'עובד' אז הענף נשאר." לעומת זאת, התווית יכולה לייצר תנאים מפוצלים כמו "כיבוש וגילט;=3.5", כלומר, אלא אם כן התווית אינה מתאימה לסדר אמיתי.
מנקודת מבט של ביצועים, הבחירה יכולה לשנות את אותם משתנים נבחרים כפיצויים שורש. ⁇ לא נכונה עלולה לגרום לעץ לתכונות המופיעות לעתים קרובות יותר או יש השחלות גבוהות יותר בערכים מקודדים, מה שמוביל לפיצול תת-אופטימי. הניסויים הראו כי שימוש בקידוד הנכון אודין (למשל, מיפוי חינוך רמה ל-0,1,2,3) משפר באופן עקבי את הדיוק על פני תווית פשוטה או קידוד יחידי על ידי לעתים קרובות ללא תכונות של עץ כוזבות.
מחקר שנערך בשנת 2020:0 (מחקרים:0) תוצאות מחקר: A2020 השווה שיטות קידוד לעצים מודבקים ב- ⁇ מצאו כי הטיפול הנבנה של קאטווסט השיג את הטעות ההכללה הנמוכה ביותר במגוון של נתונים, ואחריו מטרה עם ריצוף צלב, בעוד שקידוד אחד מבוצע רק עבור יחסי קרדינל דיפלומיות.
טיפים מעשיים ועיסוקים טובים
- (FLT:0) תמיד מתחלק לפני ⁇ FLT:1 - סטטיסטיקות בולטות (למשל, אמצעי מטרה, תדרים) על האימון שנקבע רק, ולאחר מכן ליישם את אותם מיפוי לקביעת הבדיקה.
- (ב) ,0) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0)Check for UnseenקטגוריותFLT:1) בייצור, קטגוריות חדשות עשויות להופיע.להחליט על אסטרטגיה: להתעלם (drop), מפה לערך מיוחד "לא ידוע" או לשמור על נפילה (למשל, המשמעות העולמית של מטרה ⁇ ).
- (FLT:0) ⁇ sFLT 1: השיטה הטובה ביותר תלויה בניסוי של מחזור קטן השוואת חד פעמי, תווית, תדירות וקידוד מטרה (עם אימות צלב תקין) על סט אימות.
- (FLT:0) תמיכה מקומית כאשר ניתן ל-FLT:1) אם אתה חופשי לבחור את ספריית המודל, לבחור את CatBoost או LightGBM כדי להימנע כאבי ראש ידניים, במיוחד עם תכונות בעלות דיוק גבוה.
- (FLT:0) להיות זהיר של התווית עבור Nominalal DataFLT 1:1 - זה כמעט תמיד מזיק ביצועים.אם אתה צריך להשתמש תווית תווית ⁇ (למשל, בשל מגבלות זיכרון), לפחות אקראי את הקצאת התווית כדי להפחית את אפקט ההזמנה המדרבן.
- (FLT:0)Bin או קבוצה של קטגוריות נדירות (FLT:1), כלל טוב של אצבע: שילוב קטגוריות המופיעות בפחות מ-1% מהנתונים לאימון קבוצה אחת.
- (FLT:0)Watch for Data Balanceage in Target ⁇ FreaLT:1) - תמיד להשתמש בפלפליאה או קיפלים נפרדים כדי למקם את מטרות היעד, או להשתמש בספריות שמילאות (כמו קטוסט).
מסקנה
משתנים קטגוריאליים הם חלק בסיסי של נתונים בעולם האמיתי רבים.בעוד מודלים עץ החלטות הם חזקים ופרשיים, ההצלחה שלהם מתפתלת על הכנת תכונות קטגוריות נכון. מאמר זה כיסה את האסטרטגיות הראשי של סיבולת -בל, חד-פעמי, תדירות, מטרה, בינארי, וישירה - כמו גם את היכולות של ספריות עץ פופולרי מבוסס עץ.
- התאמת הקידוד לסוג המשתנה (התרגיל לעומת נומינאל).
- עבור תכונות בעלות דיוק גבוה, מעדיף אופטימיזציה של מטרה עם סדירזציה או להשתמש בספריות עם תמיכה קטגורית בנוי.
- להימנע מדליפה נתונים על ידי מחשוב רק על נתוני אימון.
- ניסוי עם שיטות שונות באמצעות validation כדי למצוא את התצורה הטובה ביותר עבור הנתונים הספציפיים שלך.
על ידי טיפול במשתנים קטגוריים, אתה יכול לפתוח את מלוא הפוטנציאל של מודלים עץ החלטות - תוך שמירה על דיוק חיזוי טוב יותר תוך שמירה על הפרשיות שהופכת עצים לכל כך יקר.