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

1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:54

0.0

برای حل این مسئله از numpy استفاده کنید: میانگین هر ستون را با np.mean(arr, axis=0) و انحراف معیار را با np.std(arr, axis=0) محاسبه کنید، سپس با عملگرهای برداری (broadcasting) از هر ستون میانگین را کم کرده و بر انحراف معیار تقسیم کنید. برای جلوگیری از تقسیم بر صفر هنگام انحراف معیار صفر، می‌توانید از np.where یا افزودن یک مقدار کوچک (مثلاً 1e-8) استفاده کنید. (هدر پیشنهادی: import numpy as np) این پیش‌پردازش استاندارد در مسائل یادگیری ماشین معمول است و مطمئن شوید خروجی شکل مشابه ورودی دارد و نوع داده‌ها را به float تبدیل کرده‌اید.

توسط پژوهشگر در 220 روز قبل ساعت 01:54
دسته بندی ها: Python Python for beginner
arash در 220 روز قبل ساعت 11:36

برای نرمال‌سازی هر ستون، میانگین و انحراف معیار را در محور 0 محاسبه کرده و با broadcasting از هر ستون کم و بر مقدار آن تقسیم می‌کنیم. برای جلوگیری از تقسیم بر صفر، می‌توانید eps مانند 1e-8 اضافه کنید یا از np.where برای جایگزینی std برابر صفر با مقدار 1 استفاده کنید. خروجی باید همان شکل ورودی باشد و تبدیل به float انجام شود؛ اگر ورودی حاوی NaN باشد، رفتار nanmean/nanstd یا پیش‌پردازش مناسب را در نظر بگیرید. برای کارا بودن بیشتر، قبل از عملیات از np.asarray(arr, dtype=float) استفاده کنید تا سازگاری نوع داده تضمین شود.

گزارش

1 پاسخ

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

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