«درخت تصمیم» (Decision tree) یک راهکار بسیار قدرتمند بصری برای تحلیل یک سری از خروجی‌های پیش‌بینی شده برای یک مدل مشخص است. همچنین، از این الگوریتم اغلب به عنوان مکمل (و یا حتی جایگزین) تحلیل «رگرسیون» (Regression) در تعیین اینکه چگونه یک سری از «متغیرهای توصیفی» (Explanatory Variables) یک متغیر وابسته را تحت تاثیر قرار می‌دهند استفاده می‌شود. در مثال بیان شده در این مطلب، تاثیر متغیرهای توصیفی «سن» (age)، «جنسیت» (gender)، «مایل» (miles)، «اعتبار» (debt) (منظور اعتبار کارت بانکی یا همان کارت اعتباری فرد است) و «درآمد» (income) بر «متغیر وابسته» (dependent variable) «قیمت خودرو» (car sales) با استفاده از درخت تصمیم و «جنگل تصادفی» (Random Forest) تحلیل خواهد شد. مجموعه داده مورد استفاده در این مطلب، از مسیر (+) قابل دانلود است.

مساله دسته‌بندی و درخت تصمیم

ابتدا، مجموعه داده بارگذاری و متغیر پاسخ ساخته می‌شود (که برای درخت تصمیم مورد استفاده قرار می‌گیرد زیرا نیاز به تبدیل فروش از متغیر عددی به طبقه‌ای وجود دارد):

سپس، داده‌های آموزش و آزمون ساخته می‌شود (داده‌هایی که برای ساخت مدل مورد استفاده قرار خواهد گرفت و سپس داده‌هایی که برای آزمودن مدل استفاده می‌شوند).

سپس، درخت دسته‌بندی ساخته می‌شود.

توجه به این نکته لازم است که cp value چیزی است که سایز درخت مطلوب را تعیین می‌کند (در ادامه مشاهده می‌شود که خطای نسبی X-val هنگامی که سایز درخت برابر با ۴ است کمینه می‌شود). بنابراین، درخت تصمیم با استفاده از متغیر dtree و در نظر گرفتن این متغیر ساخته می‌شود.

هرس کردن درخت

سپس، درخت تصمیم «هرس» (pruned) می‌شود و طی آن «گره‌های» (nodes) نامناسب از درخت برای جلوگیری از «بیش‌برازش» (Overfitting) داده‌ها حذف می‌شوند.

پیاده‌سازی درخت تصمیم و جنگل تصادفی با R

مدل اکنون با استفاده از داده‌های تست مورد آزمون قرار گرفته است و می‌توان مشاهده کرد که درصد دسته‌بندی غلط برابر با ٪۱۶.۷۵ است. واضح است که هر چه این میزان کمتر باشد بهتر است، بنابراین این امر از آن حکایت دارد که در حال حاضر مدل در پیش‌بینی «داده‌های واقعی» صحیح‌تر عمل می‌کند.

حل مساله رگرسیون با درخت تصمیم

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

درخت رگرسیون

درخت رگرسیون

سپس، با استفاده از کد زیر درخت رگرسیون هرس می‌شود.

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

جنگل تصادفی

اگر درخت‌های تصمیم بسیاری وجود داشته باشند که هدف «برازش» (Fit) آن‌ها بدون وقوع «بیش‌برازش» (Overfitting) باشد، یک راهکار برای حل مساله استفاده از «جنگل تصادفی» (Random Forest) است. یک جنگل تصادفی امکان تعیین مهم‌ترین پیش‌بین‌ها را در میان متغیرهای توصیفی با تولید درخت‌های تصمیم زیاد و رتبه‌دهی به متغیرها بر اساس اهمیت آن‌ها فراهم می‌کند.

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

در شکل بالا می توان مشاهده کرد که اعتبار (کارت اعتباری) به عنوان مهم‌ترین عامل علامت‌گذاری شده، در واقع مشتریانی که سطح اعتبار بالاتری دارند احتمال بیشتری دارد که پول بیشتری نیز برای خرید خودرو صرف کنند. می‌توان مشاهده کرد که ٪۸۷.۳۳ از تغییرات به وسیله «جنگل تصادفی» توصیف شده و خطا در تقریبا ۱۰۰ درخت کمینه شده است.

اگر نوشته بالا برای شما مفید بوده، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

الهام حصارکی (+)

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

بر اساس رای 8 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *