آموزش الگوریتم درخت تصمیم در پایتون
مقدمه
درخت تصمیم یکی از قدیمی ترین روش های دسته بندی است و می توان گفت دسته بندی های مبتنی بر درخت تصمیم، تفسیر پذیر است .
درخت تصمیم دارای دو نوع گره داخلی و گره برگ میباشد که بدین صورت تعریف میشود :
گره داخلی : نمایانگر یک تست روی یک ویژگی است .
گره برگ : نمایانگر برچسب کلاس است .
حال به مثال زیر برای درک بیشتر مطلب توجه کنید .
قدم اول برای فهمیدن این مثال و این مطلب این است که ویژگی ها و کلاس را بشناسیم .
در این مثال؛ ما ۱۰ نمونه آزمایشی داریم . جدول فوق نشان میدهد که ما دارای سه ویژگی و یک کلاس هستیم که به شرح زیر است
ویژگی ها (Features) : وضعیت بازپرداخت وام قبلی (Refund) – وضعیت تاهل ( Marital status) و مالیات بر درآمد (Taxable Income) میباشد .
کلاس ( Class ) : تقلب کردن یا عدم تقلب در پرداخت وام است .
ما در این مدل بازپرداخت وام قبلی ( Refund) را به عنوان ریشه ( Root ) قرار داده ایم .
طبق تعریف موجود در مقدمه؛ گره برگ گره ای است که برچسب کلاس را به خودش میگیرد و گسترش پیدا نمیکند .
تعریف روند عملکرد این مدل
از ویژگی Refund شروع میکنیم . این ویژگی دارای دو مقدار Yes و No میباشد . مقدار Yes یعنی بازپرداخت وام شخص انجام شده است و مقدار No هم یعنی بازپرداخت وام به درستی انجام نشده است .
اگر به جدول دقت کنیم کسانی که بازپرداخت وامشان انجام شده باشد، مقدار Class آن ها No میباشد؛ یعنی تقلبی انجام نگرفته است .
کسانی که بازپرداخت وامشان انجام نگرفته باشد، باید توسط ویژگی های بعدی مورد ارزیابی قرار گیرند .
ویژگی بعدی که مورد بررسی قرار میدهیم ویژگی وضعیت تاهل ( Marital Status ) میباشد و ویژگی آخر هم مالیات بر درآمد ( Taxable Income ) .
نکته : این که ما باید چه ویژگی را به عنوان ریشه ( Root ) در نظر بگیریم ، را در کمی جلوتر توضیح خواهیم داد .
این همان مثال قبلی است که مقدار ریشه ( Root ) ویژگی وضعیت تاهل ( Marital Status ) میباشد .
روند و عملکرد درخت تصمیم
طبق تصویر فوق ما دو واژه Induction و Deduction را میبینیم .
Induction : به دست آوردن مدل از داده های آزمایشی .
Deduction : اعمال مدل بر داده های تست .
تکته در گره برگ
طبق تصویر فوق، اگر ما به نقطه ای برسیم که ویژگی مورد نظر دارای مقادیر یکسان نباشند و همچنین ویژگی بعدی که قرار است تفسیرپذیری را انجام دهد دارای مقادیر یکسانی باشد ( یعنی نتوان کار تفسیر را انجام داد )؛ در این صورت اصطلاحا رای با اکثریت است ، یعنی مقداری که بیشتر تکرار شده باشد به عنوان برچسب همان گره تعیین میشود .
محاسبه ناخالصی یک گره
هر چقدر آنتروپی کمتر، خالص تر
مثال آنتروپی
در توضیح این مثال باید عرض کنم که تعداد کل نمونه های آزمایشی ۱۴ مورد است که احتمال ۹ مورد آن مثبت و احتمال ۵ مورد آن منفی است .
محاسبه Gain برای تعیین ریشه ( Root )
برای اینکه تعیین کنیم چه ویژگی باید به عنوان ریشه قرار گیرد؛ باید بهره ( Gain ) ویژگی ها را حساب کنیم . هر ویژگی که بهره بیشتری داشته باشد به عنوان ریشه انتخاب میشود .
مثال از Gain
طبق تصویر؛ مقدار بهره ویژگی Outlook از همه بیشتر است پس این ویژگی باید به عنوان ریشه انتخاب شود .
پیاده سازی برنامه
جهت مشاهده قطعه کد برنامه ، اینجا کلیک کنید .