با استفاده از numpy یک مجموعه‌دادهٔ ساده برای رگرسیون خطی تولید کن (یک ویژگی)، سپس با اضافه‌کردن بایاس و استفاده از معادلهٔ نرمال پارامترهای مدل را محاسبه و وزن‌ها و مقدار پیش‌بینی روی داده‌های آموزشی را چاپ کن.

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:32

0.0

برای حل این مسئله از numpy استفاده کن: با np.random.seed مقدار تصادفی ثابت کن و با np.random.rand یا np.linspace یک بردار ویژگی بساز، سپس با یک نویز کوچک مقدار هدف y را تولید کن. یک ستون بایاس (ستون یک‌ها) به ماتریس X اضافه کن (مثلاً با np.column_stack)، و پارامترها را با معادلهٔ نرمال w = (X^T X)^{-1} X^T y محاسبه کن — برای پایداری عددی بهتر می‌توانی از np.linalg.pinv یا np.linalg.lstsq استفاده کنی. در نهایت وزن‌ها را چاپ کن و پیش‌بینی‌ها را با ضرب ماتریسی X و w محاسبه کرده و خطای متوسط مربع (MSE) را نمایش بده؛ مراقب ابعاد آرایه‌ها باش تا ضرب ماتریسی درست انجام شود.

توسط پژوهشگر در 202 روز قبل ساعت 02:32
دسته بندی ها: Python Python for beginner
sara در 202 روز قبل ساعت 09:21

برای پایداری محاسبهٔ وزن‌ها، بهتر است به جای معکوس مستقیم (X^T X)^{-1} از np.linalg.pinv یا np.linalg.lstsq استفاده کنید. همچنین پس از افزودن ستون بایاس، مطمئن شوید که ابعاد X برابر n×(d+1) باشد تا ضرب ماتریسی درست انجام شود. در نهایت وزن‌ها را با X.dot(w) محاسبه کنید و MSE را با np.mean((y - y_pred)**2) محاسبه و چاپ کنید.

گزارش

1 پاسخ

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

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