آموزش الگوریتم درخت تصمیم در پایتون

آموزش الگوریتم درخت تصمیم در پایتون

مقدمه

درخت تصمیم یکی از قدیمی ترین روش های دسته بندی است و می توان گفت دسته بندی های مبتنی بر درخت تصمیم، تفسیر پذیر است .

درخت تصمیم دارای دو نوع گره داخلی و گره برگ می‌باشد که بدین صورت تعریف می‌شود :

گره داخلی : نمایانگر یک تست روی یک ویژگی است .

گره برگ : نمایانگر برچسب کلاس است .

 

حال به مثال زیر برای درک بیشتر مطلب توجه کنید .

قدم اول برای فهمیدن این مثال و این مطلب این است که ویژگی ها و کلاس را بشناسیم .

در این مثال؛ ما ۱۰ نمونه آزمایشی داریم . جدول فوق نشان می‌دهد که ما دارای سه ویژگی و یک کلاس هستیم که به شرح زیر است

ویژگی ها (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 از همه بیشتر است پس این ویژگی باید به عنوان ریشه انتخاب شود .

 

پیاده سازی برنامه

جهت مشاهده قطعه کد برنامه ، اینجا کلیک کنید .