داده ها را آماده کنید

در حالی که دوره آماده سازی داده و مهندسی ویژگی برای یادگیری ماشینی ، آماده سازی عمومی داده ها را پوشش می دهد، این دوره به آمادگی ویژه برای خوشه بندی می پردازد.

در خوشه بندی، شباهت بین دو مثال را با ترکیب تمام داده های ویژگی برای آن نمونه ها در یک مقدار عددی محاسبه می کنید. ترکیب داده های ویژگی مستلزم آن است که داده ها مقیاس یکسانی داشته باشند. این بخش به نرمال سازی، تبدیل و ایجاد چندک می پردازد و به این موضوع می پردازد که چرا چندک ها بهترین انتخاب پیش فرض برای تبدیل هر توزیع داده هستند. داشتن یک انتخاب پیش‌فرض به شما امکان می‌دهد تا داده‌های خود را بدون بررسی توزیع داده‌ها تغییر دهید.

عادی سازی داده ها

می‌توانید داده‌های چند ویژگی را با نرمال‌سازی داده‌ها به یک مقیاس تبدیل کنید. به طور خاص، نرمال سازی برای پردازش رایج ترین توزیع داده، توزیع گاوسی ، مناسب است. در مقایسه با چندک ها، نرمال سازی به داده های بسیار کمتری برای محاسبه نیاز دارد. داده ها را با محاسبه z-score به صورت زیر عادی کنید:

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

بیایید به شباهت بین مثال ها با و بدون نرمال سازی نگاه کنیم. در شکل 1، متوجه می شوید که قرمز به نظر بیشتر شبیه آبی است تا زرد. با این حال، ویژگی های محور x و y مقیاس یکسانی ندارند. بنابراین، شباهت مشاهده شده ممکن است مصنوع داده های مقیاس نشده باشد. پس از نرمال سازی با استفاده از z-score، همه ویژگی ها دارای مقیاس یکسانی هستند. اکنون متوجه می شوید که رنگ قرمز در واقع بیشتر شبیه به زرد است. بنابراین، پس از عادی سازی داده ها، می توانید شباهت را با دقت بیشتری محاسبه کنید.

دو نمودار که داده های ویژگی را قبل و بعد از عادی سازی مقایسه می کند
شکل 1: مقایسه داده های ویژگی قبل و بعد از نرمال سازی.

به طور خلاصه، زمانی که یکی از موارد زیر درست است، نرمال سازی را اعمال کنید:

  • داده های شما دارای توزیع گاوسی است.
  • مجموعه داده شما فاقد داده کافی برای ایجاد چندک است.

با استفاده از Log Transform

گاهی اوقات، یک مجموعه داده با توزیع قانون قدرت مطابقت دارد که داده ها را در پایین ترین حد جمع می کند. در شکل 2 رنگ قرمز به زرد نزدیکتر از آبی است.

نموداری با اکثریت داده ها در پایین ترین سطح
شکل 2: توزیع قانون توان.

یک توزیع قانون توان را با استفاده از تبدیل لاگ پردازش کنید. در شکل 3، تبدیل log توزیع صاف تری ایجاد می کند و قرمز به آبی نزدیک تر از زرد است.

نموداری که توزیع نرمال (گاوسی) را نشان می دهد
شکل 3: توزیع نرمال (گاوسی).

استفاده از Quantiles

نرمال سازی و تبدیل های ورود به سیستم توزیع داده های خاص را نشان می دهد. اگر داده ها با توزیع گاوسی یا قانون قدرت مطابقت نداشته باشند چه؟ آیا یک رویکرد کلی وجود دارد که برای هر توزیع داده اعمال شود؟

بیایید سعی کنیم این توزیع را پیش پردازش کنیم.

نموداری که توزیع داده را قبل از هر گونه پیش پردازش نشان می دهد
شکل 4: توزیع غیرقابل طبقه بندی قبل از هر گونه پیش پردازش.

به طور شهودی، اگر دو مثال فقط چند مثال بین خود داشته باشند، این دو مثال صرف نظر از مقادیرشان مشابه هستند. برعکس، اگر دو مثال بین خود مثال های زیادی داشته باشند، دو مثال کمتر شبیه هم هستند. بنابراین، شباهت بین دو مثال با افزایش تعداد نمونه های بین آنها کاهش می یابد.

عادی سازی داده ها به سادگی توزیع داده ها را بازتولید می کند زیرا نرمال سازی یک تبدیل خطی است. همانطور که در شکل 5 در زیر نشان داده شده است، اعمال یک تبدیل گزارش، شهود شما را در مورد نحوه کار شباهت نیز منعکس نمی کند.

نموداری که توزیع داده‌ها را به دنبال تبدیل log نشان می‌دهد
شکل 5: توزیع پس از تبدیل log.

در عوض، داده ها را به بازه هایی تقسیم کنید که هر بازه شامل تعداد مساوی مثال باشد. این مرزهای بازه ای را چندک می نامند.

با انجام مراحل زیر داده های خود را به چندت تبدیل کنید:

  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) |\)

Quantile ها بهترین انتخاب پیش فرض شما برای تبدیل داده ها هستند. با این حال، برای ایجاد چندک هایی که شاخص های قابل اعتماد توزیع داده های اساسی هستند، به داده های زیادی نیاز دارید. به عنوان یک قاعده کلی، برای ایجاد \(n\) ، باید حداقل \(10n\) نمونه داشته باشید. اگر داده های کافی ندارید، به نرمال سازی پایبند باشید.

درک خود را بررسی کنید

برای سؤالات زیر، فرض کنید داده های کافی برای ایجاد چندک دارید.

سوال اول

نموداری که سه توزیع داده را نمایش می دهد
چگونه این توزیع داده را پردازش می کنید؟
چندک ایجاد کنید.
درست. از آنجایی که توزیع با توزیع استاندارد داده مطابقت ندارد، باید به ایجاد چندک برگردید.
عادی کردن.
شما معمولاً داده ها را عادی می کنید اگر:
  • توزیع داده ها گاوسی است.
  • شما نسبت به آنچه که داده ها نشان می دهند بینش دارید، که به شما می گوید که داده ها نباید به صورت غیرخطی تبدیل شوند. در نتیجه از چندک ها اجتناب می کنید و به جای آن نرمال سازی را انتخاب می کنید.
هیچ کدام از این موارد در اینجا صدق نمی کند. توزیع داده گاوسی نیست زیرا متقارن نیست. و شما بینشی نسبت به آنچه این ارزش ها در دنیای واقعی نشان می دهند ندارید.
تبدیل لاگ.
بهترین انتخاب نیست زیرا این توزیع قانون قدرت کامل نیست.

سوال دوم

نموداری که سه توزیع داده را نمایش می دهد
چگونه این توزیع داده را پردازش می کنید؟
عادی کردن.
درست. این یک توزیع گاوسی است.
چندک ایجاد کنید.
غلط. از آنجایی که این یک توزیع گاوسی است، تبدیل ترجیحی نرمال سازی است.
تبدیل لاگ.
غلط. فقط یک تبدیل ورود به سیستم را برای توزیع‌های قانون قدرت اعمال کنید.

داده های از دست رفته

اگر مجموعه داده شما دارای نمونه هایی با مقادیر گمشده برای یک ویژگی خاص است اما چنین نمونه هایی به ندرت رخ می دهند، می توانید این نمونه ها را حذف کنید. اگر چنین مثال‌هایی مکرر اتفاق می‌افتند، ما این گزینه را داریم که این ویژگی را به طور کلی حذف کنیم یا با استفاده از مدل یادگیری ماشین مقادیر گمشده را از نمونه‌های دیگر پیش‌بینی کنیم. برای مثال، می‌توانید داده‌های عددی گمشده را با استفاده از یک مدل رگرسیون آموزش‌دیده بر روی داده‌های ویژگی موجود استنباط کنید.