مدل ترکیبی یادگیری ماشین با پایتون

مدل ترکیبی یادگیری ماشین با پایتون

مدل‌ های ترکیبی یادگیری ماشین (Hybrid Machine Learning Models) با ترکیب الگوریتم‌های مختلف، از نقاط قوت منحصربه‌فرد هرکدام بهره می‌برند. این رویکرد منجر به افزایش دقت پیش‌ بینی و ارتقای پایداری مدل در شرایط مختلف داده‌ ای می‌شود. اگر علاقه‌ مند به ساخت چنین مدلی هستید، این مقاله راهنمای گام‌ به‌ گامی برای شما خواهد بود تا بیاموزید چگونه با بهره‌گیری از قدرت پیش‌بینی چند الگوریتم مختلف، یک مدل ترکیبی بسازید.

مدل ترکیبی یادگیری ماشین با پایتون

چه زمانی باید از مدل ترکیبی استفاده کرد؟

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

برای مثال، اگر در داده‌ های خود با الگوهای متوالی و هم‌ زمان روند های بلندمدت مواجه هستید، می‌توانید از ترکیب LSTM برای تحلیل دنباله‌ها و رگرسیون خطی برای بررسی روند کلی استفاده کنید.

نیاز به مدل ترکیبی زمانی مشخص می‌شود که مدل‌ های منفرد در ارزیابی‌ های مبتنی بر معیارهای عملکردی (مثل دقت، یادآوری یا F1-score) عملکرد ضعیفی داشته باشند. ترکیب مدل‌ها می‌تواند مزایای منحصر به‌ فرد هرکدام را در مدل نهایی وارد کرده و کارایی کلی پیش‌بینی را بهبود بخشد.

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

اکنون بیایید وارد مرحله عملی شویم و با وارد کردن کتابخانه‌ های ضروری پایتون و بارگذاری داده‌ها، کار را آغاز کنیم:

از آن‌جایی که این دیتاست بر پایه داده‌های بازار سهام است، ستون تاریخ را به نوع تاریخ-زمان (datetime) تبدیل می‌کنم، آن را به‌عنوان شاخص اصلی جدول تنظیم می‌کنم و تمرکز را بر روی قیمت پایانی (Close) معطوف می‌کنم.

انتخاب مدل‌های ترکیبی

در این پروژه از دو مدل LSTM (حافظه بلند-کوتاه‌مدت) و رگرسیون خطی (Linear Regression) استفاده خواهیم کرد. انتخاب LSTM به این دلیل است که این مدل توانایی بالایی در شناسایی وابستگی‌های دنباله‌دار و الگوهای زمانی دارد و برای تحلیل داده‌های سری‌زمانی مانند نوسانات قیمت سهام که تحت تأثیر روندهای تاریخی هستند، بسیار مناسب است.

دوره تخصصی پایتون : آموزش پروژه محور پایتون و جنگو

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

بنابراین در ادامه، قیمت پایانی (Close) را با استفاده از ابزار MinMaxScaler بین 0 و 1 مقیاس‌بندی می‌کنیم تا داده‌ها برای مدل LSTM قابل استفاده باشند.

اکنون داده‌ها را برای مدل LSTM آماده می‌کنیم. برای این منظور، دنباله‌هایی با طول مشخص (برای مثال ۶۰ روز) ایجاد می‌کنیم تا مدل بتواند قیمت روز بعد را پیش‌بینی کند.
در این مرحله، دنباله‌های ایجاد شده را به دو بخش آموزش و آزمون تقسیم می‌کنیم (برای مثال، ۸۰ درصد برای آموزش و ۲۰ درصد برای آزمون).
اکنون یک مدل LSTM ترتیبی (Sequential) با لایه‌هایی طراحی می‌کنیم تا بتواند وابستگی‌های زمانی موجود در داده‌ها را شناسایی و تحلیل کند.
اکنون مدل را با استفاده از یک بهینه‌ساز (optimizer) مناسب و تابع زیان (loss function) مناسب کامپایل کرده و آن را بر روی داده‌های آموزشی فیت می‌کنیم.
اکنون، به آموزش مدل دوم می‌پردازیم. ابتدا ویژگی‌های تأخیری را برای رگرسیون خطی تولید می‌کنم (برای مثال، استفاده از داده‌های ۳ روز گذشته به‌عنوان پیش‌بینی‌کننده‌ها).
اکنون داده‌ها را به‌طور مناسب برای آموزش و آزمون تقسیم می‌کنیم.
اکنون مدل رگرسیون خطی را آموزش می‌دهیم.
اکنون، این‌طور می‌توان پیش‌بینی‌ها را با استفاده از مدل LSTM بر روی مجموعه آزمون انجام داد و پیش‌بینی‌های مقیاس‌بندی شده را معکوس کرد.
این‌طور می‌توان پیش‌بینی‌ها را با استفاده از رگرسیون خطی تولید کرد و آن‌ها را معکوس‌ سازی کرد.
و این‌طور می‌توان از میانگین وزنی برای ایجاد پیش‌بینی‌های ترکیبی استفاده کرد.
بیایید ببینیم چگونه می‌توان پیش‌بینی‌هایی برای ۱۰ روز آینده با استفاده از مدل ترکیبی خود انجام داد. این‌طور می‌توان پیش‌بینی ۱۰ روز آینده را با استفاده از LSTM انجام داد:
این‌طور می‌توان پیش‌بینی ۱۰ روز آینده را با استفاده از رگرسیون خطی انجام داد:
و این‌ طور می‌توان پیش‌ بینی هر دو مدل را ترکیب کرده و پیش‌بینی‌هایی برای ۱۰ روز آینده انجام داد:
این‌طور می‌توان دیتا فریم نهایی را ایجاد کرد تا پیش‌بینی‌ها را مشاهده کنیم:

جمع بندی

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

همچنین می توانید از بخش جدیدترین سورس برنامه نویسی پایتون دیدن فرمایید

5/5 - (3 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

صابر بوستانی

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

دوره آموزش برنامه نویسی پایتون در 24 ساعت + ساخت ربات تلگرامی
  • انتشار: ۱۷ اردیبهشت ۱۴۰۴

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید