במודול הקודם הוצג רעיון של חלוקת קבוצת הנתונים לשתי קבוצות משנה:
- training set - קבוצת משנה לאימון מודל.
- test set – קבוצת משנה לבדיקת המודל שעבר אימון.
אפשר לדמיין את הפילוח של קבוצת הנתונים הבודדת באופן הבא:
איור 1. פילוח של קבוצת נתונים אחת לקבוצת אימונים ולקבוצת בדיקה.
צריך לוודא שקבוצת הבדיקה עומדת בשני התנאים הבאים:
- גדול מספיק כדי להניב תוצאות בעלות משמעות סטטיסטית.
- מייצג את קבוצת הנתונים כמכלול. במילים אחרות, אל תבחרו קבוצת בדיקה עם מאפיינים שונים מאלה של ערכת האימון.
בהנחה שקבוצת הבדיקה שלכם עומדת בשני התנאים הקודמים, המטרה שלכם היא ליצור מודל שמשלב היטב נתונים חדשים. ערכת הבדיקה שלנו משמשת כ-proxy לנתונים חדשים. לדוגמה, נבחן את האיור הבא. שימו לב שהמודל שנלמד עבור נתוני האימון הוא פשוט מאוד. המודל הזה לא מושלם, אבל יש חיזויים שגויים. עם זאת, המודל הזה משפיע על נתוני הבדיקה כמעט כמו על נתוני האימון. במילים אחרות, המודל הפשוט הזה לא חורג מנתוני האימון.
איור 2. תיקוף המודל שעבר אימון מול נתוני הבדיקה.
אף פעם לא מתאמנים על נתוני בדיקה. אם במדדי ההערכה שלכם יש תוצאות טובות להפליא, ייתכן שעברתם בטעות אימון על קבוצת הבדיקה. לדוגמה, רמת דיוק גבוהה עשויה להצביע על כך שנתוני הבדיקה דלפו לקבוצת האימון.
לדוגמה, כדאי להשתמש במודל שחוזה אם הודעת אימייל היא ספאם ומשתמשת בשורת הנושא, בגוף האימייל ובכתובת האימייל של השולח. אנחנו מחלקים את הנתונים לקבוצות אימון ולבדיקות, בחלוקה של 80-20. לאחר האימון, המודל מגיע לרמת דיוק של 99% גם בערכת האימון וגם בקבוצת הבדיקה. ציפינו לרמת דיוק נמוכה יותר בקבוצת הבדיקה, אז נבדוק שוב את הנתונים ונגלה שרבות מהדוגמאות בקבוצת האימון הן כפילויות של דוגמאות בקבוצת האימון (הזנחנו את אפשרות ההחלקה של רשומות כפולות עבור אותו אימייל ספאם ממסד הנתונים להזנת קלט לפני שחילצנו את הנתונים). הכשרנו בטעות את חלק מנתוני הבדיקות שלנו, וכתוצאה מכך אנחנו כבר לא מודדים במדויק את ההשפעה של המודל על נתונים חדשים.