נורמליזציה של נתונים בפייתון

Normalization Data Python



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

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







שיטה 1: שימוש ב- sklearn

שיטת sklearn היא שיטה מפורסמת מאוד לנרמול הנתונים.





במספר התא [83] : אנו מייבאים את כל הספריות הנדרשות, NumPy ו- ​​sklearn. אתה יכול לראות שאנחנו מייבאים את העיבוד המקדים מה- sklearn עצמו. לכן זוהי שיטת הנורמליזציה של sklearn.





במספר התא [84] : יצרנו מערך NumPy עם ערך מספר שלם שאינו זהה.

במספר התא [85] : התקשרנו לשיטת הנורמליזציה מהעיבוד המקדים והעברנו את numpy_array, שיצרנו כרגע כפרמטר.



במספר התא [86] : אנו יכולים לראות מהתוצאות, כל נתוני המספר השלם שלנו מנורמל כעת בין 0 ל -1.

שיטה 2: לנרמל עמודה מסוימת במערך הנתונים באמצעות sklearn

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


במספר התא [87] : אנו מייבאים את פנדות הספרייה ומנסים ללמוד.

במספר התא [88] : יצרנו קובץ CSV דמה, ועכשיו אנו טוענים את קובץ ה- CSV בעזרת חבילת הפנדות (read_csv).

במספר התא [89] : אנו מדפיסים את קובץ ה- CSV שהטענו לאחרונה.

במספר התא [90] : קראנו את העמודה המסוימת של קובץ ה- CSV באמצעות ה- np. מערך ושמור את התוצאה ל- value_array.

במספר התא [92] , קראנו לשיטת הנורמליזציה מהעיבוד המקדים והעברנו את הפרמטר value_array.

שיטה 3: המרה לנורמליזציה ללא שימוש בעמודות למערך (באמצעות sklearn)

בשיטה 2 הקודמת דנו כיצד ניתן לנרמל בעמודת קובץ CSV מסוימת. אך לפעמים עלינו לנרמל את מערך הנתונים כולו, ואז נוכל להשתמש בשיטה שלהלן שבה אנו מנרמלים את כל מערך הנתונים אך לאורך הטור (ציר = 0). אם נזכיר את הציר = 1, הוא יעשה נורמליזציה בשורה. הציר = 1 הוא כברירת מחדל.


במספר התא [93] : אנו מייבאים את פנדות הספרייה ומנסים ללמוד.

במספר התא [94] : יצרנו קובץ CSV דמה (demo_numeric.csv), ועכשיו אנו טוענים את קובץ ה- CSV בעזרת חבילת הפנדות (read_csv).

במספר התא [95] : אנו מדפיסים את קובץ ה- CSV שהטענו לאחרונה.

במספר התא [96] : כעת, אנו מעבירים את כל קובץ ה- CSV יחד עם עוד ציר פרמטר נוסף = 0, שאמר לספרייה שהמשתמש רוצה לנרמל את כל מערך הנתונים מבחינת עמודות.

במספר התא [97] , אנו מדפיסים את התוצאה ונורמליזציה של נתונים עם ערך בין 0 ל -1.

שיטה 4: שימוש ב- MinMaxScaler ()

ה- sklearn מספק גם שיטת נורמליזציה נוספת, אותה קראנו לה MinMaxScalar. זוהי גם שיטה פופולרית מאוד מכיוון שהיא קלה לשימוש.


במספר התא [98] : אנו מייבאים את כל החבילות הנדרשות.

במספר התא [99] : יצרנו קובץ CSV דמה (demo_numeric.csv), ועכשיו אנו טוענים את קובץ ה- CSV בעזרת חבילת הפנדות (read_csv).

במספר התא [100] : אנו מדפיסים את קובץ ה- CSV שהטענו לאחרונה.

במספר התא [101] : התקשרנו ל- MinMaxScalar משיטת העיבוד המקדים ויצרנו אובייקט (min_max_Scalar) לשם כך. לא העברנו שום פרמטר מכיוון שעלינו לנרמל את הנתונים בין 0 ל -1. אך אם תרצה, תוכל להוסיף את הערכים שלך אשר יראו בשיטה הבאה.

במספר התא [102] : קראנו תחילה את כל שמות העמודות לשימוש נוסף להצגת תוצאות. לאחר מכן אנו קוראים ל- fit_tranform מהאובייקט שנוצר min_max_Scalar והעברנו את קובץ ה- CSV לתוכו.

במספר התא [103] : אנו מקבלים את התוצאות הנורמליות שבין 0 ל -1.

שיטה 5: שימוש ב- MinMaxScaler (feature_range = (x, y))

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

במספר התא [104] : אנו מייבאים את כל החבילות הנדרשות.

במספר התא [105] : יצרנו קובץ CSV דמה (demo_numeric.csv), ועכשיו אנו טוענים את קובץ ה- CSV בעזרת חבילת הפנדות (read_csv).

במספר התא [106] : אנו מדפיסים את קובץ ה- CSV שהטענו לאחרונה.

במספר התא [107] : התקשרנו ל- MinMaxScalar משיטת העיבוד המקדים ויצרנו אובייקט (min_max_Scalar) לשם כך. אבל אנחנו גם מעבירים פרמטר נוסף בתוך MinMaxScaler (feature_range). ערך פרמטר זה הגדרנו 0 ל 2. אז כעת, MinMaxScaler ינרמל את ערכי הנתונים בין 0 ל -2.

במספר התא [108] : קראנו תחילה את כל שמות העמודות לשימוש נוסף להצגת תוצאות. לאחר מכן אנו קוראים ל- fit_tranform מהאובייקט שנוצר min_max_Scalar והעברנו את קובץ ה- CSV לתוכו.

במספר התא [109] : אנו מקבלים את התוצאות הנורמליות שבין 0 ל -2.

שיטה 6: שימוש בקנה המידה המוחלט המוחלט

אנחנו יכולים גם לעשות נורמליזציה של הנתונים באמצעות פנדות. תכונות אלה פופולריות מאוד גם בנורמליזציה של הנתונים. קנה המידה המוחלט המרבי אכן מנרמל ערכים בין 0 ל -1. אנו מיישמים כאן .max () ו- .abs () כפי שמוצג להלן:

במספר התא [110] : אנו מייבאים את ספריית הפנדות.

במספר התא [111] : יצרנו מסגרת נתונים דמה והדפסנו את מסגרת הנתונים הזו.

במספר התא [113] : אנו קוראים לכל עמודה ולאחר מכן מחלקים את ערכי העמודות עם .max () ו- .abs ().

במספר התא [114] : אנו מדפיסים את התוצאה, ומהתוצאה אנו מאשרים כי הנתונים שלנו מנורמלים בין 0 ל -1.

שיטה 7: שימוש בשיטת z-score

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

במספר התא [115] : יצרנו מסגרת נתונים דמה והדפסנו את מסגרת הנתונים הזו.

במספר התא [117] : אנו מחשבים את ממוצע העמודה ומחסירים אותה מהעמודה. לאחר מכן נחלק את ערך העמודה עם סטיית התקן.

במספר התא [118] : אנו מדפיסים את הנתונים המנורמלים בין -1 ל -1.

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