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