درخت تصمیم یک الگوریتم درختی ساخت یافته سلسله مراتبی است که برای استخراج خروجی معنادار از انواع ورودیها استفاده میشود. خروجی به دست آمده از این نوع آرایش سلسله مراتبی، سهم ارزشمندی برای تولید نتایج تحلیلی در تصمیمگیری تجاری واقعی دارد. از این رو نام درخت تصمیم به این الگوریتم داده شده است. متخصصان کسب و کار زمانی از درخت تصمیم کمک میگیرند که حجم دادههای مورد ارزیابی بسیار زیاد است و نمیتوان بخشهای بزرگی از داده را به صورت دستی مرور کرد.
درخت تصمیم چیست؟
اکنون اجازه دهید به بررسی عمیقی بپردازیم که درخت تصمیم در کدام دسته قرار میگیرد و دقیقاً منظور ما از اصطلاح درخت تصمیم چیست. همانطور که قبلاً بحث کردیم، درخت تصمیم در دسته یادگیری نظارت شده (Supervised learning) قرار میگیرد. یادگیری نظارت شده بخشی از یادگیری ماشینی است که در آن یک مدل بر روی دادهها با ویژگیهای خروجی (output)، موجود در مجموعه داده، آموزش داده میشود. در اصطلاح عام، منظور ما این است که ما از قبل میدانیم خروجی چیست و بر اساس آن به ویژگیهای ورودی نگاه کرده و سعی میکنیم به یک مدل آموزش برسیم تا به متغیر یا ویژگی خروجی دست یابیم.
اکنون میرسیم به اینکه درختهای تصمیم چیست. درخت تصمیم الگوریتمی است که ساختاری درخت مانند یا ساختاری فلوچارت مانند میسازد که در آن هر سطح یا آنچه ما به آن گره میگوییم، اساساً آزمونی است که روی یک ویژگی کار میکند. این آزمون اساساً بر روی یک ویژگی بر اساس معیاری که بعداً در مقاله توضیح داده شد عمل میکند. همچنین، نکتهای که باید در نظر داشت این است که در گره شروع، کل مجموعه داده در یک دسته قرار میگیرد و متعاقباً در هر لایه، تقسیم دادهها اتفاق خواهد افتاد.
مناسب / نامناسب | ورزش کردن | غذاهای ناسالم زیاد | سن |
نامناسب | خیر | خیر | 45 |
مناسب | بله | خیر | 40 |
نامناسب | خیر | بله | 25 |
مناسب | بله | خیر | 29 |
نامناسب | بله | بله | 23 |
در نمودار زیر نحوه خواندن درخت تصمیم برای جدول ذکر شده با دادهها را بررسی میکنیم.
در نمودار بالا درخت تصمیم را میخوانیم. اگر سن فرد بیش از 30 سال باشد، سپس بررسی کنید که آیا فرد ورزش میکند یا خیر. اگر بله، آن شخص مناسب است، در غیر این صورت، فرد نامناسب است. حال اگر فرد زیر 30 سال است، بررسی کنید که آیا فرد زیاد غذای ناسالم میخورد یا خیر. اگر آن شخص زیاد میخورد، پس آن شخص نامناسب است در غیر این صورت فرد مناسب است.
درک درخت تصمیم
اکنون که به هر لایه نگاه میکنیم، ویژگی خاصی را بررسی میکنیم. این همان چیزی است که در بخش قبل صحبت کردیم که در هر لایه روی یک ویژگی خاص آزمایش میکنیم. اکنون اجازه دهید نگاهی شهودی به این موضوع داشته باشیم که چگونه تصمیم میگیریم که کدام ویژگی را باید آزمایش کنیم تا به یک تقسیم بهینه برسیم.
اگر به دادهها نگاه کنید، هر فرد بیش از 30 سال «غذای ناسالم زیاد» را به عنوان “خیر” دارد. این بدان معنی است که این ویژگی خاص برای یک فرد بیش از 30 سال، سالم/ناسالم را از هم جدا نمیکند. اما اگر به ویژگی “ورزش کردن” نگاه کنیم، تفاوت در بله یا خیر، برچسب سالم/ناسالم را از هم جدا میکند. این بدان معنی است که اگر ویژگی “ورزش کردن” را بررسی کنیم، بهینه ترین تقسیم را دریافت خواهیم کرد.
اکنون برای یک فرد کمتر از 30 سال، سناریو ممکن است کمی متفاوت باشد. در این مورد، اگر جواب « غذای ناسالم زیاد» “بله” باشد، همیشه «نامناسب» است، در حالی که دادهها ممکن است برای نشان دادن نقش «ورزش» کافی نباشد. بنابراین، «غذای ناسالم زیاد» در واقع نقش مهم را بازی میکند و برای «ورزش کردن»، ما دادهای نداریم که تقسیم بهینه را اثبات کرده و از این رو « غذایی ناسالم زیاد» را برای تقسیم دادههایمان انتخاب کند.
اکنون به دلایل ریاضی در مورد چگونگی تعیین استفاده از الگوریتم میپردازیم. ما چیزی به نام «بهره اطلاعاتی» (Information Gain (IG)) و «شاخص جینی» (Gini Index) داریم تا بفهمیم تقسیم روی کدام ویژگیها به طور گسترده استفاده میشوند. برای بهره اطلاعاتی، آنتروپی تقسیمهای مختلف ایجاد شده را با استفاده از ویژگیهای متفاوتی که داریم، محاسبه میکنیم. آنتروپی چیزی جز تصادفی بودن نیست و بهره اطلاعاتی تفاوت آنتروپی قبل از تقسیم و بعد از تقسیم است، همچنین میخواهیم کمترین خاصیت تصادفی بودن را بعد از تقسیم داشته باشیم و در نتیجه اطلاعات بیشتری پس از تقسیم بدست آوریم. «شاخص جینی» چیزی جز احتمال دسته بندی اشتباه یک متغیر خاص در صورت انتخاب تصادفی نیست. به زبان ساده، اگر بخواهیم بین آنها تفاوت قائل شویم، بهره اطلاعاتی سعی میکند تصادفی بودن را کاهش دهد به این معنی که نسبت کلاسها در هر تقسیم از نظر احتمال برابر است. در حالی که شاخص جینی سعی میکند تقسیم بندی را با کلاسهای خالص در گره تقسیم پس از تقسیم، انجام دهد.
کجا از درخت تصمیم استفاده کنیم؟
اکنون همه کسانی که این مقاله را میخوانند باید به دنبال این باشند که کجا از درخت تصمیم استفاده کنیم؟
- برنامه ریزی استراتژی: دانستن اینکه یک کسب و کار باید روی کدام حوزهها تمرکز کند.
- برنامه ریزی محصول: درک اینکه چه ویژگیهایی در یک محصول بر فروش محصول تأثیر میگذارد.
- به دلیل اهمیت ویژگی داخلی هر خصوصیت، ما از آن در امورات مالی برای درک اینکه چه ویژگی بر پیش بینی ما تأثیر میگذارد، استفاده میکنیم.
- درک اینکه آیا وام داده شده به یک مشتری خاص با موفقیت برمیگردد یا خیر.
- درخت تصمیم قادر است هم مسائل طبقه بندی و هم رگرسیون را مدیریت کند.
مزایای درخت تصمیم
اکنون که فهمیدیم درخت تصمیم چیست، اجازه دهید مزایای آن را ببینیم:
- به دلیل ساختار درختی داخلی درخت تصمیم گیری، درک بینش پشت تقسیم دادهها آسان است.
- به طور گستردهای به عنوان بخشی از داده کاوی استفاده میشود.
- دخالت انسان در آن بسیار کم است.
- ویژگیهای دسته بندی و عددی را میتوان در ویژگیهای ورودی مدیریت کرد.
نتیجه گیری
بنابراین، به طور خلاصه، درخت تصمیم یک بعد کاملاً جدید دارد که سایر الگوریتمها قادر به لمس آن نیستند و آن غیر خطی بودن ویژگیها است. از آنجایی که هیچ فرض خطی وجود ندارد، بنابراین به مجموعه دادههای غیر خطی نیز پاسخ میدهد. و درخت تصمیم، به عنوان یک ساختار فلوچارت مانند، آن را به یک الگوریتم پرکاربرد در دنیای علم داده تبدیل میکند.
مترجم: فاطمه فریادرس