یک مدل یادگیری ماشین سرتاسری (End-to-End) یک سیستم کامل و یکپارچه است که همه مراحل یک پروژه یادگیری ماشین را در بر میگیرد؛ از جمعآوری داده و پیشپردازش گرفته تا توسعه مدل، استقرار (Deploy) و نگهداری مداوم.
مدل یادگیری ماشین به صورت End-to-End
برای ساخت یک مدل یادگیری ماشین سرتاسری، ابتدا باید همانند هر مسئله یادگیری ماشین دیگر، مدل یادگیری ماشین را آموزش دهید. پس از آموزش مدل، میتوانید با استفاده از فریمورک Dash آن را به یک راهکار سرتاسری تبدیل کنید. مراحل این فرایند به شکل زیر است:
-
راهاندازی یک برنامه جدید با Dash
-
طراحی رابط کاربری برنامه با استفاده از کامپوننتهای HTML و Core در Dash؛ این بخش شامل فیلدهای ورودی، دکمهها و نواحی نمایش خروجی است
-
نوشتن توابع callback برای تعریف تعاملات برنامه؛ مانند دریافت ورودی از کاربر، اجرای پیشبینی مدل و نمایش نتایج
-
بارگذاری مدل در داخل برنامه برای استفاده در فرایند پیشبینی
ساخت End-to-End
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import pandas as pd # Load the dataset real_estate_data = pd.read_csv("/Users/amankharwal/Coding/Real_Estate.csv") #replace the path with your path from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error, r2_score # Selecting features and target variable features = ['Distance to the nearest MRT station', 'Number of convenience stores', 'Latitude', 'Longitude'] target = 'House price of unit area' X = real_estate_data[features] y = real_estate_data[target] # Splitting the dataset into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Model initialization model = LinearRegression() # Training the model model.fit(X_train, y_train) |
اینجا من فقط مدل را آموزش دادهام. برای درک دقیقتر فرایند آموزش مدل،در مقالات بعدی بیشتر توضیح میدم.
حالا در ادامه میبینیم چگونه میتوان با استفاده از فریم ورک Dash برای مدل یادگیری ماشین خود یک راهکار سرتاسری ایجاد کرد:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
import dash from dash import html, dcc, Input, Output, State import pandas as pd # Initialize the Dash app app = dash.Dash(__name__) # Define the layout of the app app.layout = html.Div([ html.Div([ html.H1("Real Estate Price Prediction", style={'text-align': 'center'}), html.Div([ dcc.Input(id='distance_to_mrt', type='number', placeholder='Distance to MRT Station (meters)', style={'margin': '10px', 'padding': '10px'}), dcc.Input(id='num_convenience_stores', type='number', placeholder='Number of Convenience Stores', style={'margin': '10px', 'padding': '10px'}), dcc.Input(id='latitude', type='number', placeholder='Latitude', style={'margin': '10px', 'padding': '10px'}), dcc.Input(id='longitude', type='number', placeholder='Longitude', style={'margin': '10px', 'padding': '10px'}), html.Button('Predict Price', id='predict_button', n_clicks=0, style={'margin': '10px', 'padding': '10px', 'background-color': '#007BFF', 'color': 'white'}), ], style={'text-align': 'center'}), html.Div(id='prediction_output', style={'text-align': 'center', 'font-size': '20px', 'margin-top': '20px'}) ], style={'width': '50%', 'margin': '0 auto', 'border': '2px solid #007BFF', 'padding': '20px', 'border-radius': '10px'}) ]) # Define callback to update output @app.callback( Output('prediction_output', 'children'), [Input('predict_button', 'n_clicks')], [State('distance_to_mrt', 'value'), State('num_convenience_stores', 'value'), State('latitude', 'value'), State('longitude', 'value')] ) def update_output(n_clicks, distance_to_mrt, num_convenience_stores, latitude, longitude): if n_clicks > 0 and all(v is not None for v in [distance_to_mrt, num_convenience_stores, latitude, longitude]): # Prepare the feature vector features = pd.DataFrame([[distance_to_mrt, num_convenience_stores, latitude, longitude]], columns=['distance_to_mrt', 'num_convenience_stores', 'latitude', 'longitude']) # Predict prediction = model.predict(features)[0] return f'Predicted House Price of Unit Area: {prediction:.2f}' elif n_clicks > 0: return 'Please enter all values to get a prediction' return '' # Run the app if __name__ == '__main__': app.run_server(debug=True) |
|
1 2 |
if __name__ == '__main__': app.run_server(debug=True) |
__name__ == '__main__').گزینه
debug=True حالت دیباگ را فعال میکند؛ این حالت یک دیباگر تعاملی در مرورگر فراهم میکند و همچنین با هر تغییر در کد، سرور را بهصورت خودکار دوباره بارگذاری (reload) میکند.
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۳ دی ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس












