به طور کلی مقیاس داده ها در هر نوع مساله یادگیری ماشین و یا هر مصورسازی از اهمیت بالایی برخوردار است. دلیل این اهمیت، از آن جهت است که تقریبا تمامی الگوریتم ها در این حوزه، بر مبنای محاسبات ریاضی شکل گرفته است. لذا عدم هم مقیاس بودن داده ها، باعث بروز خطا در تصویرسازی داده ها و همچنین ایجاد اشتباه در محاسبات و عملکرد الگوریتم ها و پیش بینی های مورد نظر می شود.
به عنوان مثالی از هم مقیاس نبودن داده ها، می توان به داده هایی اشاره کرد که به شکل کیلوگرم ذکر شده و داده هایی که به صورت گرم درج شده است. در واقع، برای الگوریتم های یادگیری ماشین اعداد از اهمیت بالایی برخوردارند و بر اساس فرمول های ریاضی نهفته در آن ها، به محاسبات می پردازند. برای آن ها 10 کیلوگرم و 10 گرم و یا 10 دلار فرقی ندارد. و الگوریتم ها بر اساس داده هایی که به عنوان ورودی دریافت می کنند، شروع به انجام پردازش ها و پیش بینی ها می کنند. از این جهت، اهمیت هم مقیاس کردن داده ها بوجود می آید. در ادامه به توضیح برخی از روش ها و نحوه ی هم مقیاس کردن داده ها می پردازیم:
- Min-Max scaler
- استاندارد سازی Standardization(Standard Scaler)
- Max Abs Scaler
- Robust Scaler
- Power Transformer Scaler
- Unit Vector Scaler
Min-Max scaler:
هدف از نرمال سازی، تغییر داده ها و مشاهدات به گونه ای که به صورت توزیع نرمال قابل توصیف شوند است. این نرمالسازی با نام های دیگری چون توزیع گوسی و منحنی زنگوله ای نیز شناخته می شود. این روش به شدت، حساس به داده های پرت می باشد. فرمول محاسبه ی آن به شکل زیر است:
داده ها در این صورت بین بازه 0 و 1 قرار می گیرد. زمانیکه x برابر مقدار حداقلی باشد فرمول بالا برابر صفر می گردد و زمانی که x مقدار حداکثری باشد، خروجی 1 می شود.
استاندارد سازی (Standardization):
این روش بر این فرضیه استوار است که داده ها دارای توزیع نرمال می باشند. به این معنی که، داده ها دارای میانگین 0 و انحراف معیار 1 می باشند. اگر داده ها از توزیع نرمال برخوردار نیستند، این روش گزینه ی مناسبی نیست. برخلاف روش قبل، این تغییر مقیاس بین بازه ی خاصی قرار نمی گیرد. فرمول محاسبه ی آن به شکل زیر است:
Max Abs Scaler:
این روش زمانی کاربردی است که توزیع داده ها به صورت خلوت و یا اصطلاحا Sparse باشد. اعداد به شکل 0 و 1 تغییر مقیاس می دهند. این روش به شدت تحت تاثیر داده های پرت قرار می گیرد. زیرا روش آن به این صورت است که قدرمطلق بزرگترین عدد را در لیست داده ها پیدا می کند و سپس تک تک اعداد را بر آن تقسیم می کند. لذا، همان طور که بیان شد، در صورت وجود داده های پرت این تغییر مقیاس به اشتباه محاسبه می گردد.
Robust Scaler:
در این روش از فرمول زیر استفاده می شود.
همان طور که مشاهده می کنید، محاسبه بر اساس مقادیر چارک اول و چارک سوم صورت می گیرد. با این روش، محاسبات نسبت به داده های پرت مقاوم تر خواهد بود. فراموش نشود که با این روش داده های پرت حذف نمی شود و همچنان در بین داده ها وجود دارد.
Power Transformer Scaler:
این روش تغییر شکل داده ها را بر اساس قوانین توان انجام می دهد. اگر داده ای نامتقارن باشد، آن را به سمت تقارن می برد. بعضی از مدل های یادگیری ماشینی بر اساس داده های نامتقارن به خوبی عمل نمی کنند. مثلا مدل هایی که بر اساس فاصله محاسبه می شوند. همچون KNN و K-means. با استفاده از این روش مدل های ذکر شده عملکرد بهتری خواهند داشت. مدل هایی که بر اساس درخت و شبکه های عصبی هستند نیازی به داده های متقارن ندارد. ولی مدل SVM بعضی مواقع نیاز به تغییر مقیاس از این مدل هستند.
مهمترین روش های محاسبه آن، دو روش Box-Cox و Yeo-Johnson می باشد. که روش اول بر روی داده های مثبت عملکرد بهتری دارد و روش دوم بر هر دو داده ی مثبت و منفی عملکرد خوبی خواهد داشت. که در ادامه فرمول آن ها بیان شده است: فرمول Box-Cox:
فرمول Yeo-Johnson:
Unit Vector Scaler:
در این روش از فرمول زیر استفاده می شود:
به این صورت که هر یک از داده ها بر طول اقلیدوسی بردار آن تقسیم می شود. این روش نیز داده ها را بین 0 و 1 قرار می دهد. زمانی که با ویژگی هایی با محدوده ی ثابت همچون عکس ( که می بایست بین 0 تا 255 باشد) برخورد می کنیم، این روش بسیار کاربردی است.