ברוכים הבאים ליחידת הלימוד "ניקוי ועיבוד מקדים של נתונים" בקורס "תכנות וניתוח נתונים בשפת פייתון". יחידה זו היא אבן יסוד קריטית לכל מי שעוסק בניתוח נתונים, שכן איכות הנתונים הגולמיים משפיעה באופן ישיר על אמינות התובנות והמודלים שנבנה. נתונים בעולם האמיתי לרוב אינם מושלמים – הם מכילים ערכים חסרים, שגיאות, חריגים, ולעיתים קרובות אינם בפורמט המתאים לניתוח מיידי. למידת טכניקות הניקוי והעיבוד המקדים חיונית להבטחת ניתוח מדויק, יעיל ובעל משמעות. שימו לב במיוחד לשיקולים הקריטיים בבחירת שיטות, שכן זו נקודה שנדרשת בה הבנה עמוקה בבחינות.
חשיבות ניקוי ועיבוד מקדים של נתונים
לפני כל ניתוח נתונים משמעותי, יש צורך להכין את הנתונים. שלב זה, המכונה "ניקוי ועיבוד מקדים", הוא תהליך איטרטיבי וקריטי המבטיח שהנתונים יהיו עקביים, מדויקים ומוכנים לשימוש. הזנחת שלב זה עלולה להוביל למסקנות שגויות, מודלים לא אמינים ובזבוז משאבים.
טיפול בערכים חסרים והמרת טיפוסי נתונים
טיפול בערכים חסרים (Missing Values)
ערכים חסרים הם בעיה נפוצה במערכי נתונים ועלולים לשבש ניתוחים סטטיסטיים ואלגוריתמים של למידת מכונה. הבחירה בשיטת הטיפול תלויה באופי הנתונים, אחוז הערכים החסרים וההקשר העסקי.
מחיקה (Deletion)
מחיקת שורות (רשומות) או עמודות (משתנים) המכילות ערכים חסרים.
- יתרונות: פשוט ליישום, שומר על שלמות הנתונים הקיימים.
- חסרונות: עלול להוביל לאובדן מידע רב, במיוחד אם ישנם ערכים חסרים רבים, ולפגוע בכוח הסטטיסטי של הניתוח.
השלמה (Imputation)
מילוי ערכים חסרים בערכים חלופיים.
- שיטות נפוצות: ממוצע, חציון, מצב שכיח (mode), אינטרפולציה (לסדרות זמן), מודלים מורכבים יותר (למשל, K-NN, רגרסיה).
- יתרונות: שומר על גודל מערך הנתונים, יכול לשפר את ביצועי המודל.
- חסרונות: עלול להכניס הטיה (bias) או להפחית את השונות האמיתית בנתונים, במיוחד אם ההשלמה אינה מדויקת.
המרת טיפוסי נתונים (Data Type Conversion)
לעיתים קרובות, נתונים מיובאים בטיפוס שגוי (למשל, מספרים כטקסט, תאריכים כסטרינג). המרה לטיפוס הנכון חיונית לביצוע פעולות מתמטיות, סינון נכון ושימוש באלגוריתמים.
- דוגמאות נפוצות: המרת עמודת מחיר מסטרינג (עם סימן מטבע) למספר ממשי (float), המרת עמודת תאריך מסטרינג לפורמט תאריך (datetime), המרת קטגוריות למספרים (למשל, באמצעות One-Hot Encoding או Label Encoding).
- חשיבות: מאפשרת ניתוח כמותי, ויזואליזציה נכונה ואינטגרציה עם ספריות ניתוח נתונים.
זיהוי חריגים ושינוי צורה של נתונים
זיהוי חריגים (Outlier Detection)
חריגים הם נקודות נתונים השונות באופן משמעותי משאר הנתונים. הם יכולים להעיד על שגיאות מדידה, אירועים נדירים או תופעות מעניינות. טיפול בהם דורש שיקול דעת.
שיטות לזיהוי חריגים:
- ויזואליזציה: תרשימי קופסה (Box Plots), תרשימי פיזור (Scatter Plots), היסטוגרמות.
- כללים סטטיסטיים:
- טווח בין-רבעוני (IQR): נקודות מחוץ ל-Q1 - 1.5*IQR ו-Q3 + 1.5*IQR.
- ציון Z (Z-score): נקודות עם ציון Z גבוה מסף מסוים (לרוב 2 או 3 סטיות תקן מהממוצע).
- אלגוריתמים: Isolation Forest, Local Outlier Factor (LOF).
שינוי צורה של נתונים (Data Reshaping)
שינוי צורה מתייחס לשינוי המבנה הטבלאי של הנתונים כדי להתאימם למטרות ניתוח ספציפיות או לדרישות של כלים מסוימים.
פורמט רחב (Wide Format)
כל משתנה מקבל עמודה נפרדת, וכל שורה מייצגת תצפית ייחודית. לדוגמה, עמודות נפרדות ל"מכירות 2020", "מכירות 2021".
- יתרונות: קריא יותר לבני אדם, מתאים לניתוחים מסוימים.
- חסרונות: פחות גמיש לניתוח של סדרות זמן או השוואות בין קטגוריות רבות.
פורמט ארוך (Long Format)
משתנים קטגוריאליים הופכים לעמודה אחת, וערכיהם מופיעים בעמודה נוספת. לדוגמה, עמודה אחת ל"שנה" ועמודה נוספת ל"מכירות".
- יתרונות: גמיש יותר לניתוחים סטטיסטיים, ויזואליזציה, ושימוש בספריות כמו Seaborn או Plotly.
- חסרונות: פחות אינטואיטיבי לקריאה ישירה.
פעולות נפוצות לשינוי צורה:
pivot_table: שינוי נתונים מפורמט ארוך לרחב (או סיכום נתונים).melt: שינוי נתונים מפורמט רחב לארוך.stack/unstack: שינוי רמות באינדקס רב-שכבתי.
שאלות לדיון
- תאר מצב שבו השלמת ערכים חסרים באמצעות ממוצע עלולה להוביל למסקנות שגויות, והצע שיטה חלופית שתתאים יותר למקרה זה.
- הסבר מדוע זיהוי חריגים הוא שלב קריטי אך גם רגיש בעיבוד נתונים. אילו שיקולים יש לקחת בחשבון לפני שמחליטים להסיר או לשנות חריג?
- כיצד המרת טיפוסי נתונים יכולה להשפיע על ביצועי מודל למידת מכונה ועל תוצאות ניתוח סטטיסטי? תן דוגמה ספציפית.
- השווה בין פורמט נתונים רחב לפורמט ארוך. מתי תבחר להשתמש בכל אחד מהם, ומהם היתרונות והחסרונות העיקריים של כל פורמט?
נקודות לתשובת מודל
לשאלה: הסבר מדוע זיהוי חריגים הוא שלב קריטי אך גם רגיש בעיבוד נתונים. אילו שיקולים יש לקחת בחשבון לפני שמחליטים להסיר או לשנות חריג?
- קריטיות: חריגים יכולים להטות מדדים סטטיסטיים (ממוצע, סטיית תקן), להשפיע על התפלגויות, ולפגוע באופן דרמטי בביצועי מודלים סטטיסטיים ואלגוריתמים של למידת מכונה (למשל, רגרסיה ליניארית, K-Means). הם עלולים להוביל למסקנות שגויות.
- רגישות: חריגים אינם בהכרח "שגיאות". הם יכולים לייצג אירועים אמיתיים וחשובים (למשל, עסקאות הונאה, תקלות נדירות, תגליות מדעיות). הסרה עיוורת עלולה להוביל לאובדן מידע יקר ערך.
- שיקולים לפני טיפול בחריגים:
- מקור החריג: האם זו שגיאת הקלדה/מדידה, או אירוע אמיתי? נדרש ידע בתחום הדומיין.
- השפעה על הניתוח: עד כמה החריג משפיע על המסקנות או על המודל המתוכנן?
- כמות החריגים: אחוז החריגים במערך הנתונים.
- שיטות טיפול חלופיות: במקום להסיר, האם ניתן לבצע טרנספורמציה לנתונים (לוגריתם, שורש), להשתמש במודלים עמידים לחריגים (Robust models), או להחליף את החריג בערך אחר (למשל, חציון)?
- שקיפות ותיעוד: כל החלטה לגבי חריגים חייבת להיות מתועדת ומנומקת.