در این قسمت تیم کدگیت سورس رگرسیون خطی در پایتون را برای شما تهیه کرده است. رگرسیون خطی روشی است که از اطلاعات بین دو متغیر X و Y تشکیل گردیده و سعی میکند رابطه بین این دو را پیدا کند. با این کار میتوان به پیشبینی دیتاها در آینده پرداخت. در ادامه پیشنهاد میکنیم از دیگر سورسها و آموزشهای ما دیدن کنید:
- PDF آموزش کتابخانه Numpy در پایتون
- تشخیص ماسک در پایتون
- تشخیص سن در پایتون
- پروژه تشخیص رنگ در پایتون
سورس رگرسیون خطی در پایتون
یکی از مسائلی که بسیاری از جوامع با آن روبرو است پیشبینی کردن برخی رویدادها میباشد. به عنوان مثال میخواهید بدانید قیمت منزل در ماه آینده و یا سال آینده با توجه به روند کنونی چگونه خواهد شد. یا شاید میخواهید از بازارهای خاصی اطلاعاتی کسب و سرمایهگذاری کنید. این گونه مسائل را میتوان به کمک رگرسیون خطی پیاده سازی و اجرا کرد. در سورسی که برای شما تهیه کردهایم این الگوریتم بدون کمک از کتابخانه های موجود پیاده سازی گردیده است. تنها کتابخانههای استفاده گردیده در این سورس Numpy و matplotlib بوده است.
روش کار سورس رگرسیون خطی در پایتون
همانطور که گفتیم رابطه بین متغیر X و Yبا کمک روش رگرسیون خطی محاسبه میشود. فرمولی که برای این الگوریتم به کار میرود به صورت زیر است:
Y = α + β X
آلفا و بتا مجهولات مسئله هستند و ما سعی در یافتن این مجهولات داریم. در سورسی که تهیه کردیم X و Y با توجه به فرمول زیر تهیه شده است:
y = 6 + 9 * x
دلیل استفاده از این فرمول بررسی میزان دقت الگوریتم بوده و شما میتوانید دیتاهای X و Y دلخواه خود را در آن قرار داده و برنامه را اجرا کنید.
پس از اجرای الگوریتم میزان دقت و خطا برنامه با توجه به دو روش Mean Squared Error و R Score محاسبه و در خروجی چاپ خواهد شد.
نحوه اجرای سورس کد
بعد از تهیه سورس کد از سایت کدگیت، یک فایل پایتون با فرمت .py در اختیار شما قرار میگیرد. نام این فایل LinearRegresssion.py میباشد. این فایل اصلی برنامه بوده و با اجرای آن میتوانید الگوریتم رگرسیون خطی را اجرا نمایید. پس از اجرای برنامه خروجی به دو صورت نموداری و چاپی می باشد. خروجی نموداری به صورت زیر خواهد بود:
خروجی چاپی یا همان خروجی کنسول به صورت زیر میباشد:
The coefficient is [8.78114656]
The intercept is [6.63683501]
Root mean squared error of the model is 2.7976503234309313.
R-squared score is 0.9883428161157874.
همانطور که در خروجی میبینید آلفا و بتا در فرمول ما 6 و 9 بوده و الگوریتم رگرسیون خطی 6.6 و 8.7 محاسبه نموده است. پیشبینی نزدیکی بوده اما هنوز میتوان خطا را کاهش داد با افزایش iteration و یا تغییر در learning rate.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.