درخت تصمیم چیست؟
درخت تصمیم(decision tree) یکی از پرکاربردترین الگوریتمها در بین الگوریتمهای دادهکاوی است. درخت تصمیم دقیقا مانند یک درخت است با این تفاوت که از ریشه به سمت پایین (برگ) رشد کرده است. در الگوریتم درخت تصمیم نمونهها را دستهبندی میکنیم که در واقع دستهها در انتهای گرههای برگ قرار دارد. درخت تصمیم در مسائلی کاربرد دارد که بتوان آنها را به صورتی مطرح نمود که پاسخ واحدی به صورت نام یک دسته یا کلاس ارائه دهند.
به عنوان مثال فرض کنید مدیر یک پایگاه بخواهد طبقه بندی انجام دهد که بر اساس آن تشخیص دهد که آیا فرد فرار مالیاتی داشته است یا خیر؟ همچنین در تشخیص های پزشکی که با داشتن اطلاعات بیماران، طبقه بندی بر اساس اینکه فرد دارای بیماری خاصی است یا خیر انجام میشود. برای اینکه موضوع کاملا روشن شود با یک مثال واضح الگوریتم درخت تصمیم را بیشتر توضیح میدهیم.
فرض کنید گروهی ورزشکار میخواهند برای بازی تنیس در هوای آزاد بروند، آنها باید وضعیت هوا را برای رفتن به زمین تنیس درنظر بگیرند. این تصمیمگیری با استفاده از الگوریتم درخت تصمیم قابل انجام است.
مثال بالا نمونهای ساده از تصمیمگیری با استفاده از الگوریتم درخت تصمیم است. همانطور که در مثال میبینیم هر درخت تصمیم، به طور کلی شامل ریشه، گرهها، شاخهها و برگهاست.
روش طراحی درخت تصمیم(decision tree)
در ابتدا باید موضوع اصلی که میخواهید برای آن تصمیمگیری کنید را مشخص کنید. بعد از آن ایدههایتان را برای تصمیمگیری بر روی کاغذ بیاورید و متغیرهایی که به تصمیم شما وابستهاند را مشخص کنید. مثلا برای خرید لپ تاپ چه متغیرهایی برای شما اهمیت دارد؟ و سپس آنها را به ترتیب اولویت مرتب کنید.
روش های ساخت درخت تصمیم معمولا به صورت بالا به پایین عمل می کنند به این معنی که ابتدا فضای ورودی به فضاهای کوچکتر تقسیم میشود، سپس فرآیند تقسیم بندی برای هر یک از این قسمتها تکرار می شود. به عبارت دیگر در هنگام ساخت درخت، ابتدا ریشه ساخته میشود، سپس هر یک از زیر شاخه ها به شاخههای دیگری تقسیم میشود و این فرآیند تکرار می شود.
درخت تصمیم چگونه کار میکند؟
کسانی که بازی بیست سوالی انجام داده اند به سادگی میتوانند درخت تصمیم گیری را درک کنند. در این بازی یک نفر موضوع خاصی را در ذهن خود در نظر میگیرد و شخص دیگری سعی میکند با پرسش تعدادی سوال که جواب آنها بلی و خیر است موضوع مورد نظر شخص اول را شناسایی کند. در درخت تصمیم(decision tree ) نیز تعدادی پرسش وجود دارد و با مشخص شدن پاسخ هر سوال یک سوال دیگر پرسیده میشود. اگر سوالها درست و سنجیده پرسیده شوند، تعداد کمی از پرسشها برای پیش بینی رکورد جدید کافی می باشد.
عملکرد درخت تصمیم به این صورت است که یک گره ریشه در بالای آن قرار دارد و برگ های آن در پایین می باشند. یک رکورد در گره ریشه وارد میشود و در این گره یک تست صورت می گیرد تا معلوم شود که این رکورد به کدام یک از گره های فرزند (شاخه پایینتر) خواهد رفت.
درخت تصمیم از تعدادی گره و شاخه تشکیل شده است که در آن نمونه ها را به نحوی طبقه بندی میکند که از ریشه به سمت پایین رشد می کند و در نهایت به گره های برگ م یرسد. هر گره داخلی یا غیر برگ با یک ویژگی مشخص می شود. این ویژگی سوالی را در رابطه با مثال ورودی مطرح می کند. در هر گره داخلی به تعداد جواب های ممکن با این سوال شاخه وجود دارد که هریک با مقدار آن جواب مشخص میشوند. برگهای این درخت با یک کلاس و یا یک طبقه از جوابها مشخص میشوند.
برخی از الگوریتم های درخت تصمیم(decision tree)
الگوریتمهای زیادی برای ساخت درخت تصمیم وجود دارند که از آن جمله می توان به:
ID3:Iterative Dichotomiser
C4.5: Classifier 4.5
CART: Classification And Regression Tree
ID4
ds CART: DempsterShafer Classification And Regression Tree
ID5R
EC4.5:Efficient Classifier 4.5
CHAID: Chi square Automatic Interaction Detection
RF: Random Forest
RT: Random Tree
DS: Decision Stump
QUEST: Quick Unbiased Efficient Statistical Tree
در ادامه به توضیح، برخی از این الگوریتم ها می پردازیم.
-
الگوریتم ID3
این الگوریتم یکی از ساده ترین الگوریتم های درخت تصمیم(decision-tree) است. در این الگوریتم درخت تصمیم از بالا به پایین ساخته میشود. این الگوریتم با این سوال شروع میشود: کدام ویژگی باید در ریشه درخت مورد آزمایش، قرار بگیرد؟ برای یافتن جواب از معیار بهره اطلاعات استفاده میشود.
با انتخاب این ویژگی، برای هر یک از مقادیر ممکن آن یک شاخه ایجاد شده و نمونه های آموزشی بر اساس ویژگی هر شاخه مرتب میشوند. سپس عملیات فوق برای نمونه های قرار گرفته در هر شاخه تکرار می شوند تا بهترین ویژگی برای گره بعدی انتخاب شود.
-
الگوریتم C4.5
این الگوریتم یکی از تعمیم های الگوریتم ID3 است که از معیار نسبت بهره(Gain ratio) استفاده می کند. الگوریتم هنگامی متوقف میشود که تعداد نمونه ها کمتر از مقدار مشخص شدهای باشد. این الگوریتم از تکنیک پس هرس استفاده میکند و همانند الگوریتم قبلی دادههای عددی را نیز میپذیرد.
از نقاطِ ضعف الگوریتم ID3 که در C4.5 رفع شده است میتوان به موارد زیر اشاره کرد:
- الگوریتم C4.5 میتواند مقادیر گسسته یا پیوسته را در ویژگیها درک کندو
- الگوریتم C4.5 قادر است با وجود مقادیر گمشده نیز درخت تصمیم(decision tree) خود را بسازد، در حالی که الگوریتمی مانند ID3 و بسیاری دیگر از الگوریتمهای طبقهبندی نمیتوانند با وجود مقادیر گمشده، مدلِ خود را بسازند.
- سومین موردی که باعث بهینه شدن الگوریتم C4.5 نسبت به ID3 میشود، عملیاتِ هرس کردن جهت جلوگیری از بیش برازش میباشد. الگوریتمهایی مانند ID3 به خاطر اینکه سعی دارند تا حد امکان شاخه و برگ داشته باشند (تا به نتیجه مورد نظر برسند) با احتمال بالاتری دارای پیچیدگی در ساخت مدل و این پیچیدگی در بسیاری از موارد الگوریتم را دچار بیش برازش و خطای بالا میکند.اما باعملیات هرس کردن درخت که در الگوریتم 5 انجام میشود، میتوان مدل را به یک نقطه بهینه رساند که زیاد پیچیده نباشد (و البته زیاد هم ساده نباشد) و بیش برازش یا کم برازش(Underfitting) رخ ندهد.
- الگوریتم C4.5 این قابلیت را دارد که وزنهای مختلف و غیر یکسانی را به برخی از ویژگیها بدهد.
الگوریتم CHAID
محققان آمار کاربردی، الگوریتمهایی را جهت تولید و ساخت درخت تصمیم توسعه دادند. الگوریتم CHAID در ابتدا برای متغیرهای اسمی طراحی شده بود. این الگوریتم با توجه به نوع برچسب کلاس از آزمونهای مختلف آماری استفاده میکند. این الگوریتم هرگاه به حداکثر عمق تعریف شدهای برسد و یا تعداد نمونهها در گره جاری از مقدار تعریف شدهای کمتر باشد، متوقف میشود. الگوریتم CHAID هیچگونه روش هرسی را اجرا نمیکند.
نرم افزارهای مورد استفاده برای انجام الگوریتم درخت تصمیم
در حوزه دادهکاوی، با استفاده از نرم افزارهای SPSS Modeler, SAS JMP, Clementine, MATLAB, R, Python, … میتوانید الگوریتم درخت تصمیم را برای دستهبندی نمونههای خود استفاده کنید.
داده کاوی الگوریتم های متنوعی دارد که در شرکت ها و سازمان ها مورد استفاده قرار میگیرید. پیشتر نسبت به بیان مفهوم داده کاوی مطلبی را منتشر کرده ایم. درخت تصمیم یکی از الگوریتم های مورد استفاده در داده کاوی است در ادامه روش های دیگر را نیز باهم مرور خواهیم کرد برای مطلع شدن از مطالب جدید می توانید صفحه اینستاگرام آمار پیشرو را دنبال کنید تا از انتشار مطالب آینده باخبر شوید.
امیدواریم این مطلب توانسته باشد به شما در استفاده از این الگوریتم کمک کند. اما چنانچه در هر کدام از این بخش ها مشکلی دارید می توانید با متخصصان این امر در شرکت آمار پیشرو که به صورت رایگان تجربه و دانش خود را در اختیار شما قرار داده اندارتباط برقرار کنیدو از خدمات مشاوره آماری رایگان استفاده کنید.
داده کاوی یکی از خدماتی است که شرکت آمار پیشرو دراختیار سازمان ها و شرکت های مختلف قرار می دهد. شما می توانید با ثبت سفارش در سایت از خدمات این شرکت با قیمتی منصفانه و کیفیت عالی استفاده کنید.همچنین برای آگاهی از خدمات داده کاوی به صفحه مورد نظر این موضوع در سایت آمار پیشرو مراجعه کنید.
درخت تصمیم چیست؟
درخت تصمیم(decision tree) یکی از پرکاربردترین الگوریتمها در بین الگوریتمهای دادهکاوی است. درخت تصمیم دقیقا مانند یک درخت است با این تفاوت که از ریشه به سمت پایین (برگ) رشد کرده است.
مثالی برای درخت تصمیم؟
به عنوان مثال فرض کنید مدیر یک پایگاه بخواهد طبقه بندی انجام دهد که بر اساس آن تشخیص دهد که آیا فرد فرار مالیاتی داشته است یا خیر؟
روش طراحی درخت تصمیم چیست؟
روش های ساخت درخت تصمیم معمولا به صورت بالا به پایین عمل می کنند به این معنی که ابتدا فضای ورودی به فضاهای کوچکتر تقسیم می شود، سپس فرآیند تقسیم بندی برای هر یک از این قسمت ها تکرار می شود.
الگوریتم درخت تصمیم چگونه است؟
الگوریتم درخت تصمیم به این صورت است که یک گره ریشه در بالای آن قرار دارد و برگ های آن در پایین می باشند. یک رکورد در گره ریشه وارد می شود و در این گره یک تست صورت می گیرد تا معلوم شود که این رکورد به کدام یک از گره های فرزند (شاخه پایینتر) خواهد رفت.