فرآیند تقسیمبندی دادهها در درخت تصمیمگیری
فرآیند تقسیمبندی دادهها در درخت تصمیمگیری چگونه است و چه عواملی در انتخاب ویژگیها تأثیرگذارند؟
١ پاسخ
درخت تصمیم (Decision Tree) نوعی یادگیری ماشین نظارتشده (Supervised Machine Learning) است که برای طبقهبندی یا پیشبینی بر اساس پاسخ سؤالات قبلی استفاده میشود. این مدل، شکلی از یادگیری نظارتشده است؛ به این معنا که آموزش و آزمایش مدل بر روی مجموعهدادهای که شامل طبقهبندی موردنظر است، انجام میشود. ممکن است این مدل همیشه نتواند پاسخ قطعی و روشنی ارائه دهد. در عوض، گزینههایی را در اختیار دانشمندان قرار میدهد تا بتوانند بر اساس آنها تصمیماتی آگاهانه بگیرند. درختهای تصمیم از تفکر انسانی تقلید میکنند. بنابراین متخصصین داده معمولاً بهراحتی میتوانند نتایج را متوجه شده و تفسیر کنند.
عملکرد درخت تصمیم چگونه است؟
قبل از توضیح نحوهی عملکرد، بیایید برخی اصطلاحات مربوط به آن را تعریف کنیم:
- گره ریشه (Root Node): پایهی درخت تصمیم است.
- تقسیم (Splitting): فرایند تقسیم یک گره به چندین زیرگره را میگویند.
- گره تصمیم (Decision Node): زمانی که یک زیرگره به زیرگرههای بیشتری تقسیم میشود، به آن گرهی تصمیم میگویند.
- گره برگ (Leaf Node): زمانی که یک زیرگره به زیرگرههای بیشتری تقسیم نمیشود و در واقع نشاندهندهی خروجی احتمالی است، به آن گرهی برگ میگویند.
- هرس (Pruning): فرایند حذف زیرگرههای یک درخت تصمیم را میگویند.
- شاخه (Branch): زیرمجموعهای از درخت تصمیم است که از چندین گره تشکیل شده است.
درخت تصمیمگیری بسیار شبیه درخت معمولی است. در ابتدای درخت، گرهی ریشه قرار دارد. مجموعهای از گرههای تصمیم از گره ریشه منشعب میشوند که نشاندهندهی تصمیماتی هستند که باید گرفته شوند. از گرههای تصمیم به گرههای برگ میرسیم که نشاندهندهی نتایج آن تصمیمات هستند. هر گره تصمیم نشاندهندهی یک سؤال یا نقطهی انشعاب است و گرههای برگی که از یک گره تصمیم منشعب میشوند، نشاندهندهی پاسخهای ممکن هستند. درست مانند رشد برگ روی شاخه، گرههای برگ نیز از گرههای تصمیم ایجاد میشوند. به همین دلیل است که به زیرمجموعههای این الگوریتم شاخه میگوییم.
برای درک بهتر این موضوع اجازه دهید با هم یک مثال را بررسی کنیم. فرض کنید گلف بازی میکنید و آنقدر مهارت دارید که کیفیت پرتابهایتان در طول بازی متغیر نباشد. میخواهید پیشبینی کنید که هر روز امتیازتان کجا خواهد بود: پایینتر از حد انتظار یا بالاتر از آن.
از انجا که گلفباز ماهری هستید و کیفیت پرتابهایتان در طول بازی متغیر نیست، امتیاز شما به مجموعهی محدودی از متغیرهای ورودی بستگی دارد؛ مثل سرعت باد، میزان ابر در آسمان و دما. بهعلاوه، امتیازتان میتواند به این موضوع هم بستگی داشته باشد که راه میروید یا از ماشین گلف استفاده میکنید. حتی این موضوع که با دوستانتان بازی میکنید یا با غریبهها هم میتواند تأثیرگذار باشد.
در این مثال، دو گره برگ داریم: پایینتر از حد انتظار یا بالاتر از آن. هر متغیر ورودی یک گره تصمیم خواهد بود. باد میوزید؟ هوا سرد بود؟ با دوستانتان بازی میکردید؟ راه میرفتید یا از ماشین گلف استفاده میکردید؟ اگر دادههای کافی در مورد عادات گلفبازی خود داشته باشید، درخت تصمیمگیری میتواند به شما کمک کند تا امتیازات هر روزتان را پیشبینی کنید.
متغیرها و طراحی درخت تصمیم
در مثال گلف، هر خروجی از تصمیمات قبلی مستقل است و به این بستگی ندارد که در تصمیم قبلی چه اتفاقی افتاده است. در مقابل متغیرهای وابسته تحتتأثیر اتفاقات قبل از خود قرار میگیرند.
برای ایجاد ساختار این مدل، باید ویژگیها و شرایطی که درخت را ایجاد میکنند، انتخاب کنید. پس از آن، درخت را هرس میکنید تا شاخههای بیربطی که میتوانند بر دقت تصمیمگیری تأثیرگذار باشند را حذف کنید. هرسکردن مستلزم شناسایی دادههای پرت است؛ یعنی نقاط دادهای که خیلی از محدودهی طبیعی فاصله دارند و با وزندهی زیاد به موقعیتهای نادر قادر به منحرفکردن تصمیمگیری هستند.
ممکن است در بازی گلف، دما تأثیر چندانی بر امتیاز شما نداشته باشد یا دادههای روزی که خیلی بد بازی کردید، درخت تصمیمتان را منحرف کند. زمانی که به دنبال داده برای درخت تصمیمتان هستید، میتوانید دادههای پرت را حذف کنید؛ مانند روزی که خیلی بد بازی کردید. همچنین میتوانید کل یک شاخه، مانند شاخهی دما که ربطی به دستهبندی دادههایتان ندارد را حذف کنید.مدلی که بهخوبی طراحی شده باشد دادهها را با تعداد کمی گره و شاخه نمایش میدهد. میتوانید درخت تصمیمتان را روی کاغذ یا تخته بکشید، اما برای تصمیمات پیچیدهتر لازم است از نرمافزارهای مخصوص استفاده کنید.
نرم افزارهای ساخت درخت تصمیم
ابزارها و نرمافزارهای زیادی برای رسم درخت تصمیم وجود دارند که کار را برای شما به مراتب آسانتر میکنند. نمونههایی از این نرمافزارها عبارتاند از:
Venngage Decision Tree Maker
Lucidchart
GitMind
EdrawMax
Creately
* باز نشر از سایت: 👇