آموزش ماشین یادگیری - مدلهای چندگانه
- پچھلے صفحے بہت سارے ریگرسیون
- آئندہ صفحہ زوم
بایسک رجسٹریشن (Multiple Regression)
بایسک رجسٹریشن جیسا کہ لائنئر رجسٹریشن ہے، لیکن متعدد آزاد اعداد پر مشتمل ہوتی ہے، یعنی ہم دو یا متعدد متغیرات پر مبنی ایک اعداد کو پیش بینی کرنا کوشش کرتے ہیں۔
مزید معلومات دیکھئے، جس میں کچھ آٹو موٹیو معلومات شامل ہیں۔
Car | Model | Volume | Weight | CO2 |
---|---|---|---|---|
Toyota | Aygo | 1000 | 790 | 99 |
Mitsubishi | Space Star | 1200 | 1160 | 95 |
Skoda | Citigo | 1000 | 929 | 95 |
Fiat | 500 | 900 | 865 | 90 |
Mini | Cooper | 1500 | 1140 | 105 |
VW | Up! | 1000 | 929 | 105 |
Skoda | Fabia | 1400 | 1109 | 90 |
Mercedes | A-Class | 1500 | 1365 | 92 |
Ford | Fiesta | 1500 | 1112 | 98 |
Audi | A1 | 1600 | 1150 | 99 |
Hyundai | I20 | 1100 | 980 | 99 |
Suzuki | Swift | 1300 | 990 | 101 |
Ford | Fiesta | 1000 | 1112 | 99 |
Honda | Civic | 1600 | 1252 | 94 |
Hundai | I30 | 1600 | 1326 | 97 |
Opel | Astra | 1600 | 1330 | 97 |
BMW | 1 | 1600 | 1365 | 99 |
Mazda | 3 | 2200 | 1280 | 104 |
Skoda | Rapid | 1600 | 1119 | 104 |
Ford | Focus | 2000 | 1328 | 105 |
Ford | Mondeo | 1600 | 1584 | 94 |
Opel | Insignia | 2000 | 1428 | 99 |
Mercedes | C-Class | 2100 | 1365 | 99 |
Skoda | Octavia | 1600 | 1415 | 99 |
Volvo | S60 | 2000 | 1415 | 99 |
Mercedes | CLA | 1500 | 1465 | 102 |
Audi | A4 | 2000 | 1490 | 104 |
Audi | A6 | 2000 | 1725 | 114 |
Volvo | V70 | 1600 | 1523 | 109 |
BMW | 5 | 2000 | 1705 | 114 |
Mercedes | E-Class | 2100 | 1605 | 115 |
Volvo | XC70 | 2000 | 1746 | 117 |
Ford | B-Max | 1600 | 1235 | 104 |
BMW | 2 | 1600 | 1390 | 108 |
Opel | Zafira | 1600 | 1405 | 109 |
Mercedes | SLK | 2500 | 1395 | 120 |
ما میتوانیم بر اساس حجم موتور خودرو میزان انتشار دی اکسید کربن را پیشبینی کنیم، اما با استفاده از تحلیل چند متغیره، میتوانیم متغیرهای بیشتری مانند وزن خودرو را به پیشبینی اضافه کنیم تا پیشبینی دقیقتری داشته باشیم.
روش کار
در Python، ما دارای ماژولهایی هستیم که میتوانند این کار را انجام دهند. ابتدا ماژول Pandas را وارد کنید:
ایمپورٹ پینڈاس
ماژول Pandas به ما اجازه میدهد فایلهای csv را بخوانیم و یک شیء DataFrame را بازگرداند.
این فایل تنها برای اهداف تست استفاده میشود، میتوانید آن را از اینجا دانلود کنید:cars.csv
ڈی ایف = پینڈاس رید کس ویلف("cars.csv")
سپس مقادیر مستقل را لیست کنید و این متغیر را به نام X نامگذاری کنید.
مقادیر مرتبط را در یک متغیر به نام y قرار دهید.
ایکس = ڈی ایف[['وزن', 'حجم']] ی = ڈی ایف['سی او 2']
نکته:نشان میدهند. معمولاً لیست مقادیر مستقل را به نام بزرگ
X ، لیست مقادیر مرتبط را به نام کوچک
y
.
سکلئیر اکثر لائنئر مودل راجع کیا
ما از برخی از روشهای ماژول sklearn استفاده میکنیم، بنابراین باید این ماژول را وارد کنیم: در ماژول sklearn، ما از
LinearRegression()
دارند. این شیء بازگشتی یک روش به نام
روشی که
رجری = لائنئر مودل لائنئر ریگرسیشن() رجری فٹ(ایکس، ی)
حالا، ما یک شیء بازگشتی داریم که میتواند بر اساس وزن و حجم خودرو میزان دی اکسید کربن را پیشبینی کند:
# پیشبینی میزان انتشار دی اکسید کربن برای خودرویی با وزن 2300 کیلوگرم و حجم 1300 سی سی: predictedCO2 = regr.predict([[2300, 1300]])
مثال
لطفاً مثال کامل را ببینید:
ایمپورٹ پینڈاس سکلئیر اکثر لائنئر مودل راجع کیا ڈی ایف = پینڈاس رید کس ویلف("cars.csv") ایکس = ڈی ایف[['وزن', 'حجم']] ی = ڈی ایف['سی او 2'] رجری = لائنئر مودل لائنئر ریگرسیشن() رجری فٹ(ایکس، ی) # پیشبینی میزان انتشار دی اکسید کربن برای خودرویی با وزن 2300 کیلوگرم و حجم 1300 سی سی: predictedCO2 = regr.predict([[2300, 1300]]) پرنٹ(پریڈکٹد سی او 2)
نتائج:
[107.2087328]
ما پیشبینی میکنیم که یک خودرو با موتور 1.3 لیتری و وزن 2300 کیلوگرم، با حرکت هر 1 کیلومتر، حدود 107 گرم دی اکسید کربن آزاد میکند.
ضرایب
ضرایب عوامل توصیفکننده رابطه با متغیر نامشخص هستند.
مثلاً: اگر x
اگر متغیر باشد، 2x
این x
دو برابر.x
این متغیر نامشخص است، عدد 2
این ضرایب هستند.
در این حالت، میتوانیم درخواست کنیم که ضرایب وزن در برابر دی اکسید کربن و حجم در برابر دی اکسید کربن را داشته باشیم. پاسخهایی که دریافت میکنیم به ما میگویند که اگر یکی از مقادیر مستقل را افزایش یا کاهش دهیم، چه اتفاقی خواهد افتاد.
مثال
مقدار ضرایب شیء بازگشتی را چاپ کنید:
ایمپورٹ پینڈاس سکلئیر اکثر لائنئر مودل راجع کیا ڈی ایف = پینڈاس رید کس ویلف("cars.csv") ایکس = ڈی ایف[['وزن', 'حجم']] ی = ڈی ایف['سی او 2'] رجری = لائنئر مودل لائنئر ریگرسیشن() رجری فٹ(ایکس، ی) print(regr.coef_)
نتائج:
[0.00755095 0.00780526]
توضیح نتایج
آرایه نتیجه نشاندهنده ضرایب وزن و محتوی است.
وزن: 0.00755095 محتوی: 0.00780526
این ارقام به ما میگویند که اگر وزن 1 گرم افزایش یابد، میزان انتشار دی اکسید کربن نیز 0.00755095 گرم افزایش خواهد یافت.
اگر سائز موتور (محتوی) 1 سی سی زیاد شود، میزان انتشار دی اکسید کربن نیز 0.00780526 گرم افزایش خواهد یافت.
مجھے یقین ہے کہ یہ ایک معقول پیشگی ہے، لیکن پرکشش پر کریں!
ہم نے پیشگی کردیا ہے کہ اگر 1300 سی سی ایم کا انجین والا گاڑی 2300 کلوگرام کا وزن رکھتا ہے تو کربن ڈائی آکسائڈ کا اخراج تقریباً 107 گرام ہوگا۔
اگر 1000 گرام کا اضافی وزن دیئے جائے تو کیا ہوگا؟
مثال
پچھلے مثال کو کپی کریں، لیکن گاڑی کا وزن 2300 سے 3300 پر بدل دیں:
ایمپورٹ پینڈاس سکلئیر اکثر لائنئر مودل راجع کیا ڈی ایف = پینڈاس رید کس ویلف("cars.csv") ایکس = ڈی ایف[['وزن', 'حجم']] ی = ڈی ایف['سی او 2'] رجری = لائنئر مودل لائنئر ریگرسیشن() رجری فٹ(ایکس، ی) پریڈکٹد سی او 2 = رجری پریڈکٹ([[3300, 1300]]) پرنٹ(پریڈکٹد سی او 2)
نتائج:
[114.75968007]
ہم نے پیشگی کردیا ہے کہ 1.3 لیٹر انجین کا 3.3 ٹن وزن والا گاڑی، فی کلو میٹر چلنے پر تقریباً 115 گرام کربن ڈائی آکسائڈ جاری کرتی ہے。
یہ بتاتا ہے کہ 0.00755095 کا کوسٹنٹ صحیح ہے:
107.2087328 + (1000 * 0.00755095) = 114.75968
- پچھلے صفحے بہت سارے ریگرسیون
- آئندہ صفحہ زوم