עד עכשיו הענקנו לך את הרושם שמודל פועל ישירות שורות של מערך נתונים; עם זאת, מודלים למעשה מטמיעים נתונים בצורה קצת שונה.
לדוגמה, נניח שמערך נתונים מספק 5 עמודות, אבל רק שתיים מהן
עמודות (b
ו-d
) הן תכונות במודל. בזמן העיבוד
את הדוגמה בשורה 3, האם המודל פשוט תופס את התוכן
מדגישים שני תאים (3b ותלת-ממד) באופן הבא?
למעשה, המודל מטמיע מערך של ערכי נקודה צפה (floating-point) שנקרא וקטור התכונות. אפשר לחשוב של וקטור מאפיין כערכי הנקודה הצפה שמרכיבים דוגמה אחת.
עם זאת, וקטורים של מאפיינים משתמשים בדרך כלל בערכים הגולמיים של מערך הנתונים. במקום זאת, בדרך כלל צריך לעבד את הערכים של מערך הנתונים לייצוגים שהמודל שלכם יוכל ללמוד מהם טוב יותר. לכן מודל יכול להיראות בערך כך:
מודל לא יכול להניב תחזיות טובות יותר באמצעות אימון בפועל במערך הנתונים מאשר מערכים שהשתנו? באופן מפתיע, התשובה היא לא.
עליכם לקבוע את הדרך הטובה ביותר לייצג ערכים של מערך נתונים גולמי כערכים שניתנים לאימון. בווקטור המאפיין. התהליך הזה נקרא בהנדסת תכונות, והוא חלק חיוני בלמידת מכונה. הטכניקות הנפוצות ביותר להנדסת פיצ'רים (feature engineering) הן:
- נירמול: המרה ערכים מספריים בטווח סטנדרטי.
- Binning (נקרא גם: קטגוריות): המרת מספרים לקטגוריות של טווחים.
היחידה הזו כוללת נירמול והפרדה. היחידה הבאה, עבודה עם נתונים קטגוריים, כולל סוגים אחרים של עיבוד מראש, כמו להמיר נתונים לא מספריים, כמו מחרוזות, לערכי נקודה צפה (floating-point).
כל ערך בווקטור מאפיין חייב להיות ערך נקודה צפה (float-point). אבל הרבה פעמים הן מחרוזות טבעיות או ערכים לא מספריים אחרים. כתוצאה מכך, חלק גדול מההנדסת פיצ'רים (feature engineering) מייצג ערכים לא מספריים והערכים המספריים. תוכלו לראות הרבה מהם במודולים מאוחרים יותר.