نمایندگی: پاک کردن داده ها

درختان سیب ترکیبی از میوه های عالی و آشفتگی های کرمی تولید می کنند. با این حال، سیب‌های موجود در فروشگاه‌های مواد غذایی گران‌قیمت، میوه‌ای 100% عالی را نشان می‌دهند. بین باغ و خواربار فروشی، شخصی زمان زیادی را صرف حذف سیب های بد یا ریختن کمی موم روی سیب های قابل نجات می کند. به عنوان یک مهندس ML، شما مقدار زیادی از زمان خود را صرف بیرون انداختن نمونه های بد و پاکسازی نمونه های قابل نجات خواهید کرد. حتی چند "سیب بد" می تواند یک مجموعه داده بزرگ را خراب کند.

مقیاس گذاری مقادیر ویژگی

مقیاس بندی به معنای تبدیل مقادیر ویژگی ممیز شناور از محدوده طبیعی آنها (مثلاً 100 تا 900) به یک محدوده استاندارد (مثلاً 0 تا 1 یا -1 به +1) است. اگر مجموعه‌ای از ویژگی‌ها فقط از یک ویژگی تشکیل شده باشد، مقیاس‌گذاری سود عملی کمی به همراه دارد. با این حال، اگر مجموعه ای از ویژگی ها از چندین ویژگی تشکیل شده باشد، مقیاس بندی ویژگی ها مزایای زیر را ارائه می دهد:

  • به همگرایی سریعتر شیب نزولی کمک می کند.
  • کمک می کند تا از تله NaN جلوگیری شود، که در آن یک عدد در مدل به NaN تبدیل می شود (مثلاً زمانی که یک مقدار در طول آموزش از حد مجاز ممیز شناور فراتر می رود) و - به دلیل عملیات ریاضی - هر عدد دیگری در مدل نیز در نهایت به NaN تبدیل می شود.
  • به مدل کمک می کند تا وزن های مناسب برای هر ویژگی را یاد بگیرد. بدون مقیاس‌بندی ویژگی‌ها، مدل به ویژگی‌هایی که دامنه وسیع‌تری دارند توجه زیادی می‌کند.

لازم نیست به هر ویژگی ممیز شناور دقیقاً مقیاس یکسانی بدهید. اگر ویژگی A از 1- به 1+ مقیاس شود در حالی که ویژگی B از -3 به +3 مقیاس شود، هیچ چیز وحشتناکی اتفاق نمی افتد. با این حال، اگر ویژگی B از 5000 تا 100000 مقیاس شود، مدل شما واکنش ضعیفی نشان خواهد داد.

رسیدگی به موارد پرت شدید

نمودار زیر یک ویژگی به نام roomsPerPerson از مجموعه داده های مسکن کالیفرنیا را نشان می دهد. ارزش roomsPerPerson با تقسیم تعداد کل اتاق‌های یک منطقه بر جمعیت آن منطقه محاسبه شد. طرح نشان می دهد که اکثریت قریب به اتفاق مناطق در کالیفرنیا یک یا دو اتاق برای هر نفر دارند. اما نگاهی به محور x بیندازید.

طرحی از RoomPerPerson که در آن تقریباً همه مقادیر بین 0 و 4 دسته بندی شده اند، اما یک دم بلند دراز وجود دارد که به 55 اتاق برای هر نفر می رسد.

شکل 4. یک دم verrrrry lonnnnnng.

چگونه می‌توانیم تأثیر آن عوامل پرت را به حداقل برسانیم؟ خوب، یک راه این است که گزارش هر مقدار را بگیرید:

نموداری از log (roomsPerson) که در آن 99 درصد مقادیر بین 0.4 و 1.8 جمع می شوند، اما هنوز یک دم بلند وجود دارد که تا 4.2 یا بیشتر می رود.

شکل 5. پوسته پوسته شدن لگاریتمی هنوز یک دم باقی می گذارد.

مقیاس لاگ کار کمی بهتر انجام می دهد، اما هنوز مقدار قابل توجهی از مقادیر پرت وجود دارد. بیایید روش دیگری را انتخاب کنیم. اگر ما به سادگی حداکثر مقدار roomsPerPerson را در یک مقدار دلخواه مثلاً 4.0 "کلپ" یا "کلید" کنیم، چه؟

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

شکل 6. برش مقادیر ویژگی در 4.0

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

بنینگ

نمودار زیر شیوع نسبی خانه ها در عرض های جغرافیایی مختلف در کالیفرنیا را نشان می دهد. به خوشه بندی توجه کنید - لس آنجلس در عرض جغرافیایی 34 و سانفرانسیسکو تقریباً در عرض جغرافیایی 38 قرار دارد.

یک قطعه خانه در عرض جغرافیایی. طرح بسیار نامنظم است و شامل رکود در اطراف عرض جغرافیایی 36 و میخ های بزرگ در اطراف عرض های جغرافیایی 34 و 38 است.

شکل 7. خانه ها در عرض جغرافیایی.

در مجموعه داده، latitude یک مقدار ممیز شناور است. با این حال، نمایش latitude به عنوان یک ویژگی ممیز شناور در مدل ما منطقی نیست. به این دلیل که هیچ رابطه خطی بین عرض جغرافیایی و مقادیر مسکن وجود ندارد. برای مثال، خانه‌هایی که در عرض جغرافیایی 35 قرار دارند \(\frac{35}{34}\) گران‌تر (یا ارزان‌تر) از خانه‌های در عرض جغرافیایی 34 نیستند.

برای اینکه عرض جغرافیایی را به یک پیش بینی مفید تبدیل کنیم، بیایید طبق شکل زیر، عرض های جغرافیایی را به "سطل" تقسیم کنیم:

یک قطعه خانه در عرض جغرافیایی. طرح به تقسیم می شود

شکل 8. مقادیر Binning.

به جای داشتن یک ویژگی ممیز شناور، اکنون 11 ویژگی بولی مجزا داریم ( LatitudeBin1 ، LatitudeBin2 ، ...، LatitudeBin11 ). داشتن 11 ویژگی مجزا تا حدی بی‌ظرافت است، بنابراین بیایید آنها را در یک بردار 11 عنصری با هم متحد کنیم. انجام این کار ما را قادر می سازد که عرض جغرافیایی 37.4 را به صورت زیر نمایش دهیم:

[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]

به لطف binning، مدل ما اکنون می تواند وزن های کاملاً متفاوتی را برای هر عرض جغرافیایی یاد بگیرد.

اسکراب کردن

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

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

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

علاوه بر شناسایی نمونه های فردی بد، باید داده های بد را نیز در مجموع شناسایی کنید. هیستوگرام ها مکانیزم عالی برای تجسم داده های شما در مجموع هستند. علاوه بر این، دریافت آماری مانند موارد زیر می تواند کمک کننده باشد:

  • حداکثر و حداقل
  • میانگین و میانه
  • انحراف معیار

ایجاد لیست هایی از رایج ترین مقادیر برای ویژگی های گسسته را در نظر بگیرید. برای مثال، تعداد نمونه‌های مربوط به country:uk را با تعداد مورد انتظارتان مطابقت دهید. آیا language:jp واقعاً باید رایج ترین زبان در مجموعه داده های شما باشد؟

داده های خود را بشناسید

این قوانین را دنبال کنید:

  • به خاطر داشته باشید که فکر می کنید داده های شما باید چگونه باشند.
  • بررسی کنید که داده ها این انتظارات را برآورده می کنند (یا اینکه می توانید توضیح دهید که چرا اینطور نیست).
  • دوباره بررسی کنید که داده های آموزشی با منابع دیگر (مثلاً داشبورد) مطابقت دارند.

با داده های خود با دقت تمام رفتار کنید که با هر کد مهم ماموریتی رفتار می کنید. ML خوب به داده های خوب متکی است.

اطلاعات تکمیلی

قوانین یادگیری ماشین ، ML فاز دوم: مهندسی ویژگی