הכנת נתונים

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

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

נרמול נתונים

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

\[x'=(x-\mu)/\sigma\\ \begin{align*} \text{where:}\quad \mu &= \text{mean}\\ \sigma &= \text{standard deviation}\\ \end{align*} \]

נבחן את הדמיון בין דוגמאות עם או בלי נירמול. באיור 1 נראה שאדום דומה יותר לכחול מאשר לצהוב. עם זאת, קנה המידה של התכונות בציר ה-X ובציר ה-Y אינו זהה. לכן, הדמיון שנצפה יכול להיות תוצאה של נתונים לא מותאמים. לאחר נירמול של ציון z, כל התכונות מוצגות באותו סולם. עכשיו גיליתם שהאדום דומה יותר לצהוב. לכן, אחרי נורמליזציה של נתונים, אפשר לחשב את הדמיון בצורה מדויקת יותר.

שני תרשימים שמשווים בין נתוני תכונות לפני ואחרי נורמליזציה
איור 1: השוואה בין נתוני התכונות לפני ואחרי הנורמליזציה.

לסיכום, יש להחיל נירמול אם מתקיימים אחד מהתנאים הבאים:

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

שימוש בטרנספורמציית היומן

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

סרגל נתונים עם רוב הנתונים בקצה התחתון
איור 2: התפלגות לפי חוקי כוח.

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

תרשים שמציג התפלגות רגילה (גאוס)
איור 3: התפלגות רגילה (גאוס).

שימוש בכמויות גדולות

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

בוא ננסה לעבד מראש את ההפצה.

תרשים שמוצג בו התפלגות נתונים לפני עיבוד מראש
איור 4: הפצה שאינה ניתנת לסיווג לפני עיבוד מראש.

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

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

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

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

כדי להמיר נתונים לרבעונים, מבצעים את השלבים הבאים:

  1. קובעים את מספר המרווחים.
  2. הגדירו מרווחים כדי שלכל מרווח יהיה מספר שווה של דוגמאות.
  3. מחליפים כל דוגמה באינדקס של המרווח שבו היא מופיעה.
  4. יש להביא את האינדקסים לאותו טווח של נתוני תכונות אחרים, על ידי התאמה של ערכי האינדקס ל-[0,1].
תרשים שמציג את הנתונים לאחר ההמרה
  לפי רבונים. הקו מייצג 20 מרווחים.]
איור 6: ההתפלגות לאחר המרה לחלקים רבעוניים.

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

  • \(sim(A,B) \approx 1 − | \text{prob}[x > A] − \text{prob}[x > B] |\)
  • \(sim(A,B) \approx 1 − | \text{quantile}(A) − \text{quantile}(B) |\)

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

בחינת ההבנה שלכם

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

שאלה ראשונה

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

שאלה שנייה

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

חסרים נתונים

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