الگوریتم جنگل تصادفی

 

معرفی

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

 

نحوه عملکرد الگوریتم جنگل تصادفی:

ما می توانیم نحوه کارکردن الگوریتم Random Forest را به کمک مراحل زیر درک کنیم

 

  • مرحله 1 – ابتدا با انتخاب نمونه های تصادفی از یک مجموعه داده مشخص شروع کنید.

 

  • مرحله 2 – بعد، این الگوریتم برای هر نمونه، یک درخت تصمیم گیری ایجاد می‌کند. سپس نتیجه پیش‌بینی را از هر درخت تصمیم به دست می‌آورد.

 

  • مرحله 3 – در این مرحله، رای گیری برای هر نتیجه پیش بینی شده انجام می‌شود.

 

  • مرحله 4 – در آخر، بیشترین نتیجه پیش‌بینی را به عنوان نتیجه پیش‌بینی نهایی انتخاب کنید.

 

نمودار زیر عملکرد آن را نشان می دهد:

 

الگوریتم جنگل تصادفی

 

توسعه در پایتون:

ابتدا با وارد کردن کتابخانه‌های لازم پایتون شروع کنید

 

الگوریتم جنگل تصادفی

 

سپس،مجموعه داده را از لینک زیر بارگذاری کنید

 

الگوریتم جنگل تصادفی

 

در مرحله بعد، باید نام ستون ها را به شرح زیر به مجموعه داده اختصاص دهیم

 

 

اکنون، ما باید مجموعه داده را به شرح زیر بخوانیم

 

الگوریتم جنگل تصادفی

 

پیش پردازش داده ها با کمک خطوط زیر انجام می شود

 

الگوریتم جنگل تصادفی

 

سپس، مجموعه داده ها را به 70٪ داده های آموزشی و 30٪ داده های آزمایش تقسیم می‌کنیم:

 

الگوریتم جنگل تصادفی

 

سپس، مدل را با کمک کلاس RandomForestClassifier از sklearn به شرح زیر آموزش میدهیم

 

الگوریتم جنگل تصادفی

 

سرانجام، ما باید پیش‌بینی کنیم. این را می توان با کمک اسکریپت زیر انجام داد

 

الگوریتم جنگل تصادفی

 

بعد، نتایج را به شرح زیر چاپ کنید

 

الگوریتم جنگل تصادفی

 

خروجی:

 

الگوریتم جنگل تصادفی

 

مزایا و معایب جنگل تصادفی

موارد زیر مزایای الگوریتم Random Forest است

  • این مسئله با استفاده از میانگین یا ترکیب نتایج حاصل از درختان مختلف تصمیم، بر مشکل تعدیل تجهیزات غلبه می کند.

 

  • جنگل های تصادفی برای طیف وسیعی از داده ها از یک درخت تصمیم گیری به خوبی کار می کنند.

 

  • جنگل تصادفی از درخت تصمیم منفرد واریانس کمتری دارد.

 

  • جنگل های تصادفی بسیار انعطاف پذیر و دارای دقت بسیار بالایی هستند.

 

  • مقیاس گذاری داده ها در الگوریتم جنگل تصادفی نیاز نیست. این الگوریتم، دقت خوبی را حتی پس از ارائه داده بدون مقیاس گذاری نیز حفظ می‌کند.

 

معایب:

موارد زیر معایب الگوریتم Random Forest است

 

  • پیچیدگی اصلی ترین عیب الگوریتم‌های جنگل تصادفی است.

 

  • ساخت جنگل‌های تصادفی بسیار دشوارتر و زمانبرتر از درختان تصمیم گیرنده است.

 

  • برای اجرای الگوریتم Random Forest به منابع محاسباتی بیشتری نیاز است.

 

  • در مواردی که مجموعه بزرگی از درختان تصمیم‌گیری داشته باشیم، از شهود کمتری برخوردار است.

 

  • روند پیش بینی با استفاده از جنگل‌های تصادفی در مقایسه با الگوریتم‌های دیگر بسیار وقت‌گیر است.

 

 

تهیه کننده: مهندس محمد طالبی
منبع