ساخت مدل یادگیری ماشین به صورت End-to-End

ساخت مدل یادگیری ماشین به صورت End-to-End

یک مدل یادگیری ماشین سرتاسری (End-to-End) یک سیستم کامل و یکپارچه است که همه مراحل یک پروژه یادگیری ماشین را در بر می‌گیرد؛ از جمع‌آوری داده و پیش‌پردازش گرفته تا توسعه مدل، استقرار (Deploy) و نگهداری مداوم.

مدل یادگیری ماشین به صورت End-to-End

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

  • راه‌اندازی یک برنامه جدید با Dash

  • طراحی رابط کاربری برنامه با استفاده از کامپوننت‌های HTML و Core در Dash؛ این بخش شامل فیلدهای ورودی، دکمه‌ها و نواحی نمایش خروجی است

  • نوشتن توابع callback برای تعریف تعاملات برنامه؛ مانند دریافت ورودی از کاربر، اجرای پیش‌بینی مدل و نمایش نتایج

  • بارگذاری مدل در داخل برنامه برای استفاده در فرایند پیش‌بینی

ساخت End-to-End

اینجا من فقط مدل را آموزش داده‌ام. برای درک دقیق‌تر فرایند آموزش مدل،در مقالات بعدی بیشتر توضیح میدم.

حالا در ادامه می‌بینیم چگونه می‌توان با استفاده از فریم ورک Dash برای مدل یادگیری ماشین خود یک راهکار سرتاسری ایجاد کرد:

End-to-End Predictive Model

حالا بیایید این کد را بخش‌بندی کنیم و هر قسمت آن را جداگانه بررسی کنیم تا دقیقاً متوجه شویم هر بخش چه کاری انجام می‌دهد:

در این کد، dash کتابخانه اصلی Dash است. ماژول‌های html و dcc (Dash Core Components) برای ساخت کامپوننت‌های HTML و اجزای تعاملی استفاده می‌شوند. همچنین Input، Output و State برای ایجاد callbackها در Dash به کار می‌روند که وظیفه تعریف تعامل‌پذیری برنامه را بر عهده دارند.

این خط یک برنامه جدید Dash را مقداردهی اولیه (initialize) می‌کند.

این بخش، ساختار HTML برنامه را با استفاده از کامپوننت‌های HTML در Dash تعریف می‌کند. در لایه (layout) برنامه، یک عنوان (html.H1)، فیلدهای ورودی برای فاصله تا ایستگاه MRT، تعداد فروشگاه‌های رفاهی، عرض جغرافیایی و طول جغرافیایی (dcc.Input) و همچنین یک دکمه برای اجرای فرایند پیش‌بینی (html.Button) قرار داده شده‌اند.

این یک تابع callback است که وقتی دکمه «Predict Price» کلیک می‌شود، خروجی (نتیجه پیش‌بینی) را به‌روزرسانی می‌کند.
عبارت Output('prediction_output', 'children') مشخص می‌کند که محتوای داخلی (children) کامپوننتی با شناسه prediction_output توسط این callback تغییر داده می‌شود.

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

در داخل تابع update_output، ابتدا ورودی‌ها بررسی می‌شوند تا مطمئن شویم مقدار آن‌ها None نیست. سپس این ورودی‌ها در قالب یک DataFrame از Pandas سازمان‌دهی می‌شوند تا دقیقاً با فرمتی که مدل انتظار دارد مطابقت داشته باشند. بعد از آن، متد model.predict فراخوانی می‌شود تا پیش‌بینی انجام شود.

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

این بخش زمانی سرور برنامه را اجرا می‌کند که اسکریپت به‌صورت مستقیم اجرا شود (__name__ == '__main__').
گزینه debug=True حالت دیباگ را فعال می‌کند؛ این حالت یک دیباگر تعاملی در مرورگر فراهم می‌کند و همچنین با هر تغییر در کد، سرور را به‌صورت خودکار دوباره بارگذاری (reload) می‌کند.

پس به این شکل می‌توانید با استفاده از پایتون یک مدل یادگیری ماشین سرتاسری بسازید.

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

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

صابر بوستانی

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

پکیج جامع و پروژه محور ASP.NET MVC + طراحی فروشگاه اینترنتی فروش فایل
  • انتشار: ۱۳ دی ۱۴۰۴

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

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

مشاهده همه

نظرات

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