עד עכשיו נתנו לכם את הרושם שמודל פועל ישירות על השורות של מערך נתונים. עם זאת, בפועל מודלים מטמיעים נתונים בצורה שונה במקצת.
לדוגמה, נניח שמערך נתונים מכיל חמש עמודות, אבל רק שתי העמודות האלה (b
ו-d
) הן מאפיינים במודל. כשמעובדים את הדוגמה בשורה 3, האם המודל פשוט תופס את התוכן של שתי התאים המודגשים (3b ו-3d) באופן הבא?
למעשה, המודל מבצע הטמעה של מערך ערכים של נקודה צפה שנקרא וקטור מאפיינים. אפשר להתייחס לוקטור מאפיינים כערכים של נקודה צפה שמרכיבים דוגמה אחת.
עם זאת, וקטור המאפיינים משתמש בערכים הגולמיים של מערך הנתונים רק לעיתים רחוקות. במקום זאת, בדרך כלל צריך לעבד את הערכים של מערך הנתונים לייצוגים שהמודל יכול ללמוד מהם טוב יותר. כך יכול להיראות וקטור מאפיינים ריאליסטי יותר:
האם מודל לא יניב תחזיות טובות יותר אם יאמן על סמך הערכים האמיתיים במערך הנתונים, ולא על סמך ערכים ששונו? באופן מפתיע, התשובה היא לא.
צריך לקבוע את הדרך הטובה ביותר לייצג ערכים של מערכי נתונים גולמיים כערכים שניתנים לאימון בוקטור המאפיינים. התהליך הזה נקרא פיתוח מאפיינים, והוא חלק חיוני בלמידת מכונה. השיטות הנפוצות ביותר להנדסת תכונות הן:
- נרמליזציה: המרת ערכים מספריים לטווח סטנדרטי.
- מיון בקטגוריות (נקרא גם חלוקה לקטגוריות): המרת ערכים מספריים לקטגוריות של טווחים.
היחידה הזו עוסקת בביצוע נורמליזציה ובחלוקה לקטגוריות. ביחידה הבאה, עבודה עם נתונים קטגוריאליים, נסביר על צורות אחרות של עיבוד מקדים, כמו המרת נתונים לא מספריים, כמו מחרוזות, לערכים של נקודה צפה.
כל ערך בוקטור מאפיינים חייב להיות ערך של נקודה צפה. עם זאת, תכונות רבות הן מחרוזות או ערכים לא מספריים אחרים. כתוצאה מכך, חלק גדול מהנדסת המאפיינים הוא ייצוג של ערכים לא מספריים כערכים מספריים. נרחיב על כך בהמשך הקורס.