پیچیدگیهای جهان را ساده میکنند و به نوید یقینی سستبنیاد، ریشههای شک و کنجکاوی را، که دو شرط اول تفکرند، برمیکنند.
برازش منحنی در پایتون
طرح مسئله
فرض کنید تعدادی نقاط از یک تابع مجهول را در اختیار داریم می خواهیم تابع اصلی را با استفاده از این داده ها پیدا کنیم. گاه این تابع وجود خارجی ندارد و هدف ما صرفا پیدا کردن تابعی است که تا حد امکان به داده ها موجود نزدیک باشد. برای پیچیدگی فرض کنید بر روی داده های نمونه مقداری نویز وجود دارد. در تصویر فوق با در دست داشتن مقادیر x و y می خواهیم تابع f یا تابعی نزدیک به این تابع را بدست آوریم. هدف برازش یا رگریسیون پیدا کردن تابعی تا حد ممکن نزدیک به تابع f از روی مقادیر y است.
تولید داده تصادفی
با استفاده از توابع کتابخانه numpy و اسکریپت زیر تعدادی نمونه تصادفی برای تابع sin ایجاد می کنیم.
در خط 6 به تعداد ۲۰ نقطه به صورت تصادفی در بازه ۰ تا ۷ انتخاب می شود در خط ۷ آنها را مرتب می کنیم.
خط ۹ داده تصادفی از نوع نرمال ایجاد و درون متغییر noise قرار می گیرد.
خط ۱۳ داده نویز به مقدار واقعی y اضافه می شود تا داده تصادفی ایجاد شود
تخمین تابع
حال با در دست داشتن مقدار x و ynoise می خواهیم تابعی بدست بیاوریم که تا حد امکان به y نزدیک باشد.
خط ۱۶ از تابع polyfix برای تخمین چند جمله ای استفاده می شود این تابع مقادیر x وynoise را دریافت می کند و ضرایب چند جمله ای را به عنوان خروجی بر می گرداند.
خط ۱۷ با داشتن ضرایب چند جمله ای را ایجاد می کند
خط ۲۰ داده ها تخمین زده توسط چند جمله ایجاد شده درون متغییر yest قرار می گیرد.
مطلبی دیگر از این انتشارات
تحلیل داده با پایتون
مطلبی دیگر از این انتشارات
چطور توی پایتون بازی بسازیم؟ - قسمت دوم
مطلبی دیگر از این انتشارات
چطور توی پایتون برنامه گرافیکی بسازیم؟ - قسمت صفرم