در این نوشته به معرفی یک ابزار مفید در پایتون جهت بصری‌سازی درخت تصمیم می‌پردازیم که برای درک مدل بسیار به کار می‌آید. کد کامل این مقاله را می‌توانید در این ریپوی گیت‌هاب (+) مشاهده کنید. کافی است آن را به نت‌بوک ژوپیتر یا اسکریپت پایتون کپی کنید و با جایگزینی داده‌ها به اجرای آن با استفاده از Scikit-Learn بپردازید.

نتیجه نهایی درخت تصمیم کامل به صورت یک تصویر خواهد بود:

درخت تصمیم برای مجموعه داده Iris
درخت تصمیم برای مجموعه داده Iris

 

توضیح کد

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

اکسپورت درخت به صورت یک فایل dot. – این امر به کمک بهره‌گیری از تابع export_graphviz در Scikit-Learn صورت می‌گیرد. در اینجا پارامترهای زیادی هستند که ظاهر و اطلاعات نمایش یافته را کنترل می‌کنند. برای دیدن خصوصیات بیشتر نگاهی به مستندات (+) بیندازید.

با استفاده از دستور سیستمی dot را به png تبدیل کنید. با اجرای دستورهای سیستمی در پایتون می‌توان برخی وظایف ساده را به سهولت اجرا کرد. این امر نیازمند نصب بسته graphviz است که شامل ابزار dot است. برای مشاهده گزینه‌های کامل می‌توانید مستندات این بسته را بررسی کنید.

بصری‌سازی. بهترین بصری‌سازی‌ها در نت‌بوک ژوپیتر ظاهر می‌شوند. به طور معادل می‌توان از matplotlib برای نمایش تصاویر استفاده کرد.

ملاحظات

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

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

سخن پایانی

یادگیری ماشین از مسئله «جعبه سیاه» (Black Box) رنج می‌برد، یعنی یک تصویر منفرد نمی‌تواند مشکلی را حل کند. در هر حال نگاه کردن به یک درخت منفرد تصمیم این مدل را به ما نشان می‌دهد و یک جنگل تصادفی متدی غیر قابل توضیح نیست؛ اما توالی سؤال‌های منطقی و پاسخ‌ها به خصوص زمانی که پیش‌بینی صورت می‌گیرد یک مشکل محسوب می‌شود.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

میثم لطفی (+)

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

بر اساس رای 1 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *