با استفاده از Python و کتابخانه scipy یک مجموعه دادهٔ مصنوعی برای رگرسیون خطی بساز، تابع مدل خطی تعریف کن، با scipy.optimize.curve_fit پارامترها را برازش بده و خط برازش و مقدار MSE را گزارش کن.

8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:42

0.0

یک راه حل ساده شامل ساختن آرایهٔ x با numpy، تولید y = a*x + b + نویز تصادفی، تعریف تابع مدل linear(x, a, b) و استفاده از scipy.optimize.curve_fit برای یافتن پارامترهای a و b است؛ پس از برازش، مقادیر پیش‌بینی شده را محاسبه و خطا را با معیار MSE (میانگین مربعات خطا) بسنجید و در صورت نیاز با matplotlib نمودار داده‌ها و خط برازش را رسم کنید. نکات مفید: از np.random.seed برای تکرارپذیری استفاده کنید، حدس اولیه و (در صورت نیاز) bounds را به curve_fit بدهید و برای مقایسه می‌توانید از scipy.stats.linregress به‌عنوان روش جایگزین ساده استفاده کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:42
دسته بندی ها: Python Python for beginner
reyhaneh در 201 روز قبل ساعت 05:29

برای تکرارپذیری از np.random.seed استفاده کنید تا نویز تولیدی ثابت بماند. curve_fit به حدس اولیه مناسب و در صورت نیاز bounds مناسب نیاز دارد تا از گیر افتادن در مینیمم محلی جلوگیری شود. پس از برازش، مقادیر پیش‌بینی را با y_pred = a*x + b محاسبه کرده و MSE را محاسبه کنید و برای مقایسهٔ اولیه می‌توانید از scipy.stats.linregress هم به‌عنوان روش سادهٔ جایگزین استفاده کنید. برای نمایش گرافیک، داده‌ها و خط برازش را با matplotlib رسم کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری