מבוא לטרנספורמציית נתונים

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

סיבות לשינוי נתונים

אנחנו מחליפים תכונות בעיקר מהסיבות הבאות:

  1. טרנספורמציות חובה לתאימות נתונים. דוגמאות:

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

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

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

לאן צריך לבצע טרנספורמציה?

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

מהפכה לפני האימון

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

יתרונות

  • החישוב מתבצע פעם אחת בלבד.
  • החישוב יכול לבחון את מערך הנתונים כולו כדי לקבוע את השינוי.

חסרונות

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

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

טרנספורמציה במסגרת המודל

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

יתרונות

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

חסרונות

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

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

לחקור, לנקות ולהמחיש נתונים

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

  • בדקו כמה שורות של נתונים.
  • יש לבדוק נתונים סטטיסטיים בסיסיים.
  • כדאי לתקן ערכים מספריים חסרים.

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