با Amazon SageMaker Data Wrangler داده های خود را برای یادگیری ماشین متعادل کنید

گره منبع: 1600102

Amazon SageMaker Data Rangler یک قابلیت جدید از آمازون SageMaker این امر باعث می شود که دانشمندان و مهندسان داده سریعتر داده ها را برای برنامه های کاربردی یادگیری ماشین (ML) با استفاده از یک رابط بصری آماده کنند. این شامل بیش از 300 تبدیل داده داخلی است، بنابراین می توانید بدون نیاز به نوشتن کد، ویژگی ها را به سرعت عادی سازی، تبدیل و ترکیب کنید.

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

اپراتورهای جدید تعادل

اپراتورهای متعادل کننده جدید اعلام شده در زیر گروه بندی می شوند داده های موجودی تبدیل نوع در TRANSFORM را اضافه کنید پنجره

در حال حاضر، عملگرهای تبدیل فقط از مسائل طبقه بندی باینری پشتیبانی می کنند. در مسائل طبقه بندی باینری، طبقه بندی کننده وظیفه دارد هر نمونه را به یکی از دو کلاس طبقه بندی کند. وقتی تعداد نمونه ها در کلاس اکثریت (بزرگتر) به طور قابل توجهی بیشتر از تعداد نمونه های کلاس اقلیت (کوچکتر) باشد، مجموعه داده نامتعادل در نظر گرفته می شود. این انحراف برای الگوریتم‌ها و طبقه‌بندی‌کننده‌های ML چالش برانگیز است، زیرا فرآیند آموزش تمایل دارد به سمت طبقه اکثریت سوگیری کند.

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

Data Wrangler اکنون اپراتورهای متعادل کننده زیر را به عنوان بخشی از پشتیبانی می کند داده های موجودی تبدیل:

  • نمونه‌بردار تصادفی - نمونه های اقلیت را به طور تصادفی تکرار کنید
  • نمونه‌بردار تصادفی - به طور تصادفی نمونه های اکثریت را حذف کنید
  • SMOTE - با درونیابی نمونه های اقلیت واقعی، نمونه های اقلیت مصنوعی تولید کنید

بیایید اکنون به طور مفصل درباره عملگرهای مختلف تعادل بحث کنیم.

نمونه اضافی تصادفی

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

زیر نمونه تصادفی

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

SMOTE

در SMOTE، نمونه های اقلیت مصنوعی به داده ها اضافه می شوند تا به نسبت مطلوب بین نمونه های اکثریت و اقلیت دست یابند. نمونه های مصنوعی با درون یابی جفت نقاط اقلیت اصلی تولید می شوند. این SMOTE transform از متوازن کردن مجموعه داده ها شامل ویژگی های عددی و غیر عددی پشتیبانی می کند. ویژگی های عددی با میانگین وزنی درون یابی می شوند. با این حال، نمی‌توانید درون یابی میانگین وزنی را برای ویژگی‌های غیر عددی اعمال کنید - میانگین‌گیری غیرممکن است “dog” و “cat” مثلا. در عوض، ویژگی‌های غیر عددی از هر یک از نمونه‌های اقلیت اصلی با توجه به میانگین وزن کپی می‌شوند.

به عنوان مثال، دو نمونه A و B را در نظر بگیرید:

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

فرض کنید نمونه‌ها با وزن‌های 0.3 برای نمونه A و 0.7 برای نمونه B درون‌یابی شده‌اند. بنابراین، فیلدهای عددی با این وزن‌ها به‌ترتیب 0.3 و 0.6 به‌دست می‌آیند. فیلد بعدی با پر شده است “dog” با احتمال 0.3 و “cow” با احتمال 0.7 به همین ترتیب، بعدی برابر است “carnivore” با احتمال 0.3 و “herbivore” با احتمال 0.7 کپی تصادفی به طور مستقل برای هر ویژگی انجام می شود، بنابراین نمونه C زیر یک نتیجه ممکن است:

C = [0.3, 0.6, "dog", "herbivore"]

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

برای تولید اکتشافی نمونه‌های واقعی‌تر، SMOTE فقط جفت‌هایی را درون‌یابی می‌کند که از نظر فضای ویژگی‌ها به هم نزدیک هستند. از نظر فنی، هر نمونه فقط با k نزدیکترین همسایگان خود درون یابی می شود، جایی که یک مقدار مشترک برای k 5 است. در اجرای SMOTE ما، فقط از ویژگی های عددی برای محاسبه فاصله بین نقاط استفاده می شود (فاصله ها برای تعیین همسایگی استفاده می شوند. از هر نمونه). عادی سازی ویژگی های عددی قبل از محاسبه فواصل معمول است. توجه داشته باشید که ویژگی های عددی فقط به منظور محاسبه فاصله نرمال می شوند. ویژگی های درون یابی شده نرمال سازی نشده اند.

حالا بیایید تعادل را برقرار کنیم مجموعه داده بزرگسالان (همچنین به عنوان مجموعه داده درآمد سرشماری شناخته می شود) با استفاده از تبدیل داخلی SMOTE ارائه شده توسط Data Wrangler. این مجموعه داده چند متغیره شامل شش ویژگی عددی و هشت ویژگی رشته است. هدف مجموعه داده یک کار طبقه بندی باینری برای پیش بینی اینکه آیا درآمد یک فرد بیش از 50,000 دلار در سال است یا نه بر اساس داده های سرشماری است.

همچنین می توانید با ایجاد یک هیستوگرام با استفاده از آن، توزیع کلاس ها را به صورت بصری مشاهده کنید نوع تحلیل هیستوگرام در Data Wrangler. توزیع هدف نامتعادل است و نسبت رکوردها با >50K به <=50K حدود 1:4 است.

ما می توانیم این داده ها را با استفاده از SMOTE اپراتور در زیر داده های موجودی با مراحل زیر در Data Wrangler تبدیل کنید:

  1. را انتخاب کنید income به عنوان ستون هدف

ما می خواهیم توزیع این ستون متعادل تر باشد.

  1. نسبت مورد نظر را روی 0.66.

بنابراین، نسبت بین تعداد نمونه های اقلیت و اکثریت 2:3 است (به جای نسبت خام 1:4).

  1. را انتخاب کنید SMOTE به عنوان تبدیل برای استفاده.
  2. مقادیر پیش فرض را برای تعداد همسایه ها به میانگین و نرمال شدن یا نه.
  3. را انتخاب کنید پیش نمایش برای دریافت پیش نمایش تبدیل اعمال شده و انتخاب اضافه کردن تا تبدیل را به جریان داده خود اضافه کنید.

اکنون می‌توانیم یک هیستوگرام جدید مشابه آنچه قبلا انجام دادیم ایجاد کنیم تا توزیع مجدد کلاس‌ها را ببینیم. در شکل زیر هیستوگرام آن نشان داده شده است income ستون پس از متعادل کردن مجموعه داده. همانطور که در نظر گرفته شده بود اکنون توزیع نمونه ها 3:2 است.

اکنون می‌توانیم این داده‌های متوازن جدید را صادر کنیم و یک طبقه‌بندی بر روی آن آموزش دهیم، که می‌تواند کیفیت پیش‌بینی برتری را به همراه داشته باشد.

نتیجه

در این پست، نحوه تعادل داده های طبقه بندی باینری نامتعادل را با استفاده از Data Wrangler نشان دادیم. Data Wrangler سه عملگر متعادل کننده را ارائه می دهد: کم نمونه گیری تصادفی، نمونه برداری بیش از حد تصادفی، و SMOTE برای ایجاد تعادل مجدد داده ها در مجموعه داده های نامتعادل شما. هر سه روش ارائه شده توسط Data Wrangler از داده های چند وجهی از جمله ویژگی های عددی و غیر عددی پشتیبانی می کنند.

به عنوان گام های بعدی، توصیه می کنیم مثال موجود در این پست را در جریان داده های Data Wrangler خود تکرار کنید تا ببینید در عمل در مورد چه چیزی بحث کردیم. اگر تازه وارد Data Wrangler هستید یا SageMaker Studio، رجوع شود به با Data Wrangler شروع کنید. اگر سوالی در رابطه با این پست دارید در قسمت نظرات مطرح کنید.


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

یوتم الور یک دانشمند ارشد کاربردی در Amazon SageMaker است. علایق تحقیقاتی او در یادگیری ماشین، به ویژه برای داده های جدولی است.

آرونپراسات شانکار یک معمار راه حل های تخصصی هوش مصنوعی و یادگیری ماشین (AI/ML) با AWS است که به مشتریان جهانی کمک می کند راه حل های هوش مصنوعی خود را به طور موثر و کارآمد در فضای ابری مقیاس کنند. آرون در اوقات فراغت خود از تماشای فیلم های علمی تخیلی و گوش دادن به موسیقی کلاسیک لذت می برد.

منبع: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

تمبر زمان:

بیشتر از وبلاگ یادگیری ماشین AWS