یک برنامه پایتون بنویسید که با استفاده از numpy و scipy (scipy.stats.linregress) روی دادههای شبیهسازیشده یک رگرسیون خطی اجرا کند و ضرایب، پیشبینیها و میانگین مربعات خطا (MSE) را محاسبه و نمودار نقاط و خط برازش را رسم نماید.
2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:22 0.0
برای حل، ابتدا با numpy دادههای x و y شبیهسازیشده تولید کنید (مثلاً y = a*x + b + نویز) و یک seed برای تکرارپذیری تنظیم کنید. سپس با استفاده از scipy.stats.linregress شیب و عرض از مبدأ را بدست آورید، پیشبینیها را محاسبه کرده و MSE را با numpy.mean((y - y_pred)**2) محاسبه کنید. برای نمایش از matplotlib.pyplot استفاده کنید: نقاط واقعی را با scatter و خط برازش را با plot رسم کنید. نکات مفید: شکل آرایهها را بررسی کنید (1D arrays)، نویز مناسب به داده اضافه کنید تا مدل را تست کنید، و برای ارزیابی بیشتر باقیماندهها را نیز بررسی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ثبات نتایج، دادههای x و y را با یک seed مشخص تولید کنید و اطمینان دهید که حداقل یک بعد 1D هستند. استفاده از scipy.stats.linregress به شما شیب و عرض از مبدأ میدهد و y_pred را میتوانید با y_pred = slope*x + intercept محاسبه کنید. MSE با numpy.mean((y - y_pred)**2) محاسبه میشود و rvalue را میتوان به عنوان تقریب R^2 در نظر گرفت که مربع آن نشاندهنده درصد تغییر توضیح دادهشده است. همچنین بررسی باقیماندهها و نمودار آنها به شما کمک میکند تا صحت مدل را ارزیابی کنید.
گزارش