مجموعه RandomForest GradientBoost CatBoost
چیزی که من ساختم
من مجموعه ای از مدل های یادگیری ماشین را با استفاده از Random Forest، Gradient Boosting و CatBoost regressors ساختم تا متغیر هدف را پیش بینی کنم. مدلها بر روی یک مجموعه داده آموزش داده میشوند و پیشبینیهای آنها برای ایجاد یک پیشبینی مجموعه ترکیب میشوند. میانگین مربعات خطا (MSE) برای ارزیابی عملکرد هر مدل جداگانه و مجموعه محاسبه می شود.
ارسال دسته:
وایلدکارت حواس پرت
لینک برنامه
https://github.com/SubhashishMahapatra/Ensemble-of-RandomForest-GradientBoost-CatBoost
اسکرین شات ها
شرح
در این پروژه، من مجموعه ای از مدل های یادگیری ماشین را با استفاده از Random Forest، Gradient Boosting و CatBoost regressors توسعه دادم. هدف پیشبینی متغیر هدف بر اساس مجموعه دادههای داده شده بود. رویکرد گروهی، پیشبینیهای چند مدل را برای ایجاد پیشبینی قویتر و دقیقتر ترکیب میکند.
این پروژه شامل چندین مرحله است:
-
پیش پردازش داده ها: مجموعه داده بارگیری می شود و مقادیر از دست رفته مدیریت می شوند. متغیرهای طبقهبندی با استفاده از رمزگذاری برچسب کدگذاری میشوند و متغیرهای عددی با مقادیر میانگین نسبت داده میشوند.
-
آموزش مدل: سه مدل – Random Forest، Gradient Boosting و CatBoost – بر روی داده های از پیش پردازش شده نمونه سازی شده و آموزش داده شده اند. مدل ها الگوها و روابط موجود در داده ها را یاد می گیرند تا پیش بینی کنند.
-
ارزیابی مدل: مدل های آموزش دیده با استفاده از میانگین مربعات خطا (MSE) در یک مجموعه آزمایشی ارزیابی می شوند. MSE معیاری از عملکرد خوب مدل ها در پیش بینی متغیر هدف ارائه می دهد.
-
ایجاد گروه: یک گروه با ترکیب پیشبینیهای سه مدل ایجاد میشود. پیش بینی مجموعه به عنوان میانگین پیش بینی های مدل فردی محاسبه می شود.
-
ارزیابی گروه: MSE برای پیشبینی گروه محاسبه میشود تا عملکرد آن را در مقایسه با مدلهای جداگانه ارزیابی کند.
نتایج MSE را برای هر مدل جداگانه (جنگل تصادفی، تقویت گرادیان، و CatBoost) و MSE را برای پیشبینی مجموعه نشان میدهد. هرچه MSE کمتر باشد، عملکرد مدل در پیش بینی متغیر هدف بهتر است.
پیوند به کد منبع
https://github.com/SubhashishMahapatra/Ensemble-of-RandomForest-GradientBoost-CatBoost
مجوز مجاز
با
پس زمینه (چه چیزی باعث شد تصمیم به ساخت این برنامه خاص بگیرید؟ چه چیزی الهام بخش شما شد؟)
انگیزه ایجاد این مجموعه از مدلهای یادگیری ماشین، بهبود دقت و استحکام پیشبینیها برای یک متغیر هدف خاص بود. با ترکیب نقاط قوت مدلهای مختلف، رویکرد گروهی اغلب میتواند از مدلهای فردی بهتر عمل کند و پیشبینیهای قابل اعتمادتری ارائه دهد.
الهامبخش این پروژه از نیاز به ایجاد یک مدل پیشبینی قدرتمند است که میتواند روابط پیچیده در دادهها را مدیریت کند. Random Forest، Gradient Boosting و CatBoost الگوریتم های یادگیری ماشینی محبوب و موثری هستند که به طور گسترده برای کارهای رگرسیون استفاده می شوند. با استفاده از نقاط قوت این الگوریتم ها و ترکیب پیش بینی های آنها، به طور بالقوه می توانیم به عملکرد پیش بینی بهتری دست یابیم.
چگونه آن را ساختم (چگونه از GitHub Actions یا GitHub Codespaces استفاده کردید؟ آیا در طول مسیر چیز جدیدی یاد گرفتید؟ مهارت جدیدی را انتخاب کردید؟)
برای ساخت این مجموعه از مدل های یادگیری ماشین، از زبان برنامه نویسی پایتون و چندین کتابخانه استفاده کردم:
- NumPy و Pandas برای دستکاری و پیش پردازش داده ها
- Scikit-Learn برای آموزش مدل، ارزیابی، و انتساب
- CatBoost برای مدل CatBoostRegressor
- Matplotlib یا Seaborn برای تجسم داده ها (که به صراحت در کد ذکر نشده است) من از Jupyter Notebook یا هر IDE دیگر پایتون برای نوشتن و اجرای کد استفاده کردم. قطعه کد ارائه شده در سوال مرحله به مرحله اجرا شد.
در طول این فرآیند، تکنیکهای مختلفی مانند مدیریت مقادیر از دست رفته، رمزگذاری برچسب متغیرهای طبقهبندی، تعیین متغیرهای عددی، آموزش و ارزیابی مدلهای رگرسیون، و ایجاد یک پیشبینی مجموعه را یاد گرفتم و به کار بردم.
من ممکن است از GitHub Actions یا GitHub Codespaces برای خودکار کردن وظایف خاص یا برای توسعه مشترک استفاده کرده باشم، اما قطعه کد به صراحت به آن اشاره نمی کند.
منابع/اطلاعات اضافی
اگر علاقه مند به کسب اطلاعات بیشتر در مورد روش های مجموعه یا مدل های یادگیری ماشینی مورد استفاده در این پروژه هستید، در اینجا چند منبع اضافی وجود دارد: