کافه‌تدریس

معرفی درخت تصمیم یا Decision Tree

درخت تصمیم

درخت تصمیم

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

الگوریتم درخت تصمیم چیست؟

درخت تصمیم یک مدل فلوچارت مانند است که با ترسیم مشاهدات در مورد یک آیتم تا نتیجه‌گیری در مورد متغیر هدف آن به پیش بینی نتایج کمک می‌کند. درخت شامل گره‌هایی است که ویژگی‌های داده‌ها را نشان می‌دهد، شاخه‌هایی که قوانین تصمیم‌گیری را نشان می‌دهند و برگ‌هایی که نشان‌دهنده نتایج یا برچسب‌های کلاس هستند.

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

الگوریتم درخت تصمیم چگونه کار می‌کند؟

الگوریتم درخت تصمیم در مراحل زیر کار می‌کند:

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

شاخص جینی (Gini index) یک معیار آماری است که برای اندازه‌گیری میزان پراکندگی داده‌ها در یک مجموعه استفاده می‌شود. این شاخص با استفاده از فرمول زیر محاسبه می‌شود:

Gini = 1 - Σ P^2

که در آن P احتمال وقوع یک کلاس خاص در مجموعه است.

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

مثال

فرض کنید مجموعه داده‌ای با 4 نمونه داریم که هر نمونه به یکی از دو کلاس A یا B تعلق دارد. اگر این نمونه‌ها به صورت زیر توزیع شده باشند:

A: 1, 2, 3
B: 4

در این حالت، شاخص جینی مجموعه داده برابر با 0.75 خواهد بود. زیرا احتمال وقوع کلاس A برابر با 0.75 و احتمال وقوع کلاس B برابر با 0.25 است.

اگر اکنون این مجموعه داده را با استفاده از ویژگی “تعداد نمونه‌های A” تقسیم کنیم، به دو زیرمجموعه زیر خواهیم رسید:

زیرمجموعه 1: 1, 2
زیرمجموعه 2: 3, 4

شاخص جینی زیرمجموعه 1 برابر با 0 خواهد بود. زیرا تمام نمونه‌های این زیرمجموعه به کلاس A تعلق دارند. شاخص جینی زیرمجموعه 2 نیز برابر با 0.5 خواهد بود. زیرا احتمال وقوع کلاس A در این زیرمجموعه برابر با 0.5 و احتمال وقوع کلاس B برابر با 0.5 است.

بنابراین، ویژگی “تعداد نمونه‌های A” برای تقسیم داده‌های این مجموعه به زیرمجموعه‌های همگن‌تر مناسب‌تر است.

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

آنتروپی در درخت تصمیم

تعریف آنتروپی

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

محاسبه آنتروپی

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

که در آن p(x)  احتمال وقوع هر کلاس است. مقدار آنتروپی نشان‌دهنده میزان ناپایداری یا پیچیدگی موجود در داده‌ها است.

استفاده از آنتروپی در تصمیم‌گیری

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

مثال عملی

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

اجزای مختلف درخت تصمیم

گره ریشه: بالاترین گره درخت، که نشان دهنده نقطه شروع فرآیند تصمیم گیری است.

شاخه‌ها: خطوطی که گره‌ها را به هم متصل می‌کنند و بیانگر تصمیمات یا انتخاب‌هایی هستند که می‌توان در هر مرحله از فرآیند تصمیم گیری انجام داد.

گره‌ها: نقاط تصمیم‌گیری در درخت که نشان‌دهنده نتایج یا حالت‌های احتمالی سیستم مورد تجزیه و تحلیل است.

گره‌های برگ: نتایج نهایی فرآیند تصمیم گیری که به عنوان نقاط انتهایی درخت نشان داده می‌شوند.

فرآیند هرس کردن یا Pruning

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

دو نوع روش هرس وجود دارد:

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

انواع الگوریتم درخت تصمیم

به طور عمده دو نوع درخت تصمیم وجود دارد:

درخت طبقه‌بندی: زمانی استفاده می‌شود که متغیر هدف طبقه‌بندی شده (Categorical) باشد. گره‌های برگ درخت نشان دهنده برچسب‌های کلاس هستند.

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

مزایا و معایب الگوریتم درخت تصمیم

مزایا:

معایب:

هنگامی که فیچرهای نامربوط یا اضافی در داده‌ها وجود داشته باشد، می‌تواند عملکرد ضعیفی داشته باشد.

کاربردهای الگوریتم درخت تصمیم

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

قسمتی از جزوه کلاس برای آموزش الگوریتم درخت تصمیم

دوره جامع دیتا ساینس و ماشین لرنینگ

قطعه کد الگوریتم Decision Tree

برای تمرین و آشنایی بیشتر با این الگوریتم، شما می‌توانید کد زیر را در گوگل Colab اجرا کنید.

خلاصه مطالب

درخت‌ تصمیم یا Decision Tree یک نوع الگوریتم یادگیری ماشین ساده و قدرتمند هستند که می‌توانند هم برای مسائل طبقه‌بندی و هم برای مسائل رگرسیون استفاده شوند. تفسیر آن‌ها آسان است و می‌توانند طیف گسترده ای از انواع داده‌ها را مدیریت کنند. با این حال، آن‌ها مستعد مشکل بیش‌برازش هستند و می‌توانند ناپایدار باشند. علیرغم این محدودیت‌ها، درختان تصمیم دارای کاربردهای گسترده ای در زمینه‌های مختلف هستند که آن‌ها را به ابزاری ارزشمند برای تحلیل و پیش‌بینی داده‌ها تبدیل می‌کند.

هفت‌خوان: مطالعه کن، نظر بده، جایزه بگیر!

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

جوایز هفت‌خوان

پرسش‌های مسابقه

برای شرکت در هفت‌خوان کافه‌تدریس در کامنت همین مطلب به این پرسش‌ها پاسخ دهید:

هفت‌خوان‌پلاس

برای بالابردن شانس‌تان می‌توانید این مطلب را هم مطالعه کنید و به پرسش‌های آن پاسخ دهید:

سوگیری الگوریتمی یا Algorithmic Bias چیست؟

خروج از نسخه موبایل