عنوان:

‫پیاده‌سازی رگرسیون درخت تصمیم از ابتدا بدون اشاره‌گرها یا بازگشت در C#


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۲/۰۱ ۰۰:۴۹
آدرس: www.dntips.ir
این مقاله یک نمایش کامل و گام به گام از پیاده‌سازی رگرسیون درخت تصمیم از ابتدا با استفاده از زبان برنامه‌نویسی C# ارائه می‌دهد. هدف از رگرسیون درخت تصمیم، پیش‌بینی یک مقدار عددی واحد است. این پیاده‌سازی از اشاره‌گرها (ارجاع‌ها) برای سادگی و از بازگشت برای قابلیت نگهداری و سفارشی‌سازی بهتر اجتناب می‌کند. رگرسیون درخت تصمیم یک سیستم مبتنی بر مجموعه قوانینی از نوع "اگر-آنگاه" است که برای پیش‌بینی یک مقدار عددی واحد استفاده می‌شود. این تکنیک یادگیری ماشین یک ساختار درختی از قوانین شرطی را در بر می‌گیرد. به عنوان مثال، یک مدل رگرسیون درخت تصمیم ممکن است پیش‌بینی کند: "اگر سن کارمند بیشتر از 39.0 و کمتر یا مساوی 42.5 و سابقه کار کمتر یا مساوی 8.0 و قد بیشتر از 64.0 باشد، موجودی حساب بانکی 754.14 دلار است." طراحی انعطاف‌پذیر رگرسیون درخت تصمیم از ذخیره‌سازی لیست (بدون اشاره‌گر)، ساختار مبتنی بر پشته (بدون بازگشت) و ذخیره صریح شاخص‌های ردیف برای حداکثر قابلیت تفسیر استفاده می‌کند. این مقاله رگرسیون درخت تصمیم را با استفاده از C#، با ذخیره‌سازی لیست برای گره‌های درخت (بدون اشاره‌گر/ارجاع)، یک پشته FIFO برای ساخت درخت (بدون بازگشت) و بهینه‌سازی کمینه‌سازی واریانس وزن‌دار برای تابع تقسیم گره و ذخیره شاخص‌های ردیف مرتبط در هر گره پیاده‌سازی می‌کند. در حالی که یک درخت تصمیم واحد می‌تواند به تنهایی برای مسائل رگرسیون استفاده شود، رویکرد رایج‌تر استفاده از مجموعه‌ای از درختان تصمیم است که به آن "مجمع" گفته می‌شود. مثال‌ها شامل رگرسیون درخت کیسه (bagging tree regression)، رگرسیون جنگل تصادفی (random forest regression)، تقویت تطبیقی (adaptive boosting regression) و رگرسیون تقویت گرادیان (gradient boosting regression) هستند. طراحی درخت تصمیم ارائه شده در این مقاله را می‌توان به راحتی برای هر تکنیک مجمع تطبیق داد.


مشاهده مطلب اصلی