การเรียนรู้ของแรงจูงใจ - การกลับสมดุลที่มีหลายตัวแปร
- পূর্ববর্তী পৃষ্ঠা বহুগুণীয় পুনর্গঠন
- পরবর্তী পৃষ্ঠা সমাপ্তি
বহুমূখী রিগ্রেশন (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 |
我们可以根据发动机排量的大小预测汽车的二氧化碳排放量,但是通过多元回归,我们可以引入更多变量,例如汽车的重量,以使预测更加准确。
আমরা ইঞ্জিনের প্রদূষণ পরিমাণের মাপ অনুযায়ী গাড়ির CO2 প্রদূষণ পরিমাণ পূর্বাভাস করতে পারি, কিন্তু বহুবহুত্বক প্রতিমানের মাধ্যমে, আমরা আরও বেশি বিন্যাস, যেমন গাড়ির ওজন, পূর্বাভাসকে আরও নিশ্চিত করতে পারি।
কার্যকরী তত্ত্ব
import pandas
Pandas মডিউলটি আমাদের ফাইলটি পড়ার সুবিধা দেয় এবং একটি DataFrame অবজেক্ট ফেরাস্তু করে
এই ফাইলটি পরীক্ষা প্রয়োজনে ব্যবহৃত হয়, আপনি এখানে ডাউনলোড করতে পারেন:cars.csv
df = pandas.read_csv("cars.csv")
এবং স্বাধীন মানা তালিকা তালিকা দিন এবং এই তালিকা নামকরা X-এ
সংশ্লিষ্ট মানা নামকরা y-এ রাখুন
X = df[['Weight', 'Volume']] y = df['CO2']
সুঝাওয়া:সাধারণত, স্বাধীন মানা তালিকা বড় অক্ষরে নামকরা X
সংশ্লিষ্ট মানা তালিকা নামকরা y
。
আমরা sklearn মডিউলের কিছু পদ্ধতি ব্যবহার করবো, তাই আমরা এই মডিউলটি আমদানিকরণ করতেই হবো
from sklearn import linear_model
sklearn মডিউলে, আমরা LinearRegression()
পদ্ধতি একটি লীনিয়ার প্রতিমান অবজেক্ট তৈরি করে
এই অবজেক্টটির একটি নামকরা fit()
এই পদ্ধতির মাধ্যমে, যা স্বাধীন মানা এবং উপস্থাপক মানা হিসাবে পারামিটার হিসাবে এবং এই সম্পর্ককে বর্ণনা করেন এবং প্রতিমান পত্রকে পূর্ণ করে
regr = linear_model.LinearRegression() regr.fit(X, y)
এখন, আমরা একটি প্রতিমান পাচ্ছি, যা গাড়ির ওজন এবং প্রদূষণ পরিমাণ থেকে CO2 মানা পূর্বাভাস করতে পারে:
# ২৩০০kg ওজন এবং ১৩০০ccm প্রদূষণ পরিমাণের গাড়ির CO2 প্রদূষণ পরিমাণ পূর্বাভাস করুন: predictedCO2 = regr.predict([[2300, 1300]])
উদাহরণ
অপূর্ণ প্রয়োগ দেখুন:
import pandas from sklearn import linear_model df = pandas.read_csv("cars.csv") X = df[['Weight', 'Volume']] y = df['CO2'] regr = linear_model.LinearRegression() regr.fit(X, y) # ২৩০০kg ওজন এবং ১৩০০ccm প্রদূষণ পরিমাণের গাড়ির CO2 প্রদূষণ পরিমাণ পূর্বাভাস করুন: predictedCO2 = regr.predict([[2300, 1300]]) print(predictedCO2)
ফলাফল:
[107.2087328]
আমরা পূর্বাভাস দিই, 1.3 লিটার ইঞ্জিন, 2300 কিলোগ্রাম ওজনের গাড়ি, 1 কিলোমিটার চলার সময় 107 গ্রাম কার্বন ডাইঅক্সাইড উৎসর্জন করবে
কোয়ান্টিটি মানা
কোয়ান্টিটি মানা হল অজ্ঞাত চিহ্নের সম্পর্ক বর্ণনা করেন
যেমন: যদি x
এটা হল চিহ্ন, তবে 2x
এটা x
এর দ্বিগুণx
এটা হল অজ্ঞাত চিহ্ন, সংখ্যা 2
এটা হল কোয়ান্টিটি মানা
এই ক্ষেত্রে, আমরা ওজন এবং CO2-র মধ্যে কোয়ান্টিটি মানা এবং ভাণ্ডার এবং CO2-র মধ্যে কোয়ান্টিটি মানা চাই। আমরা পাওয়া উত্তর আমাদের বোঝায় যে, যদি একটি স্বাধীন মানা বাড়াবো কিংবা হারাবো, তবে কি হবে।
উদাহরণ
প্রদূষণ জিনিসপত্রের কোয়ান্টিটি মানা প্রিন্ট করুন:
import pandas from sklearn import linear_model df = pandas.read_csv("cars.csv") X = df[['Weight', 'Volume']] y = df['CO2'] regr = linear_model.LinearRegression() regr.fit(X, y) print(regr.coef_)
ফলাফল:
[0.00755095 0.00780526]
ফলাফল ব্যাখ্যা
ফলাফল আইসক্রিপট ওজন এবং প্রদূষণের কোয়ান্টিটির কোয়ান্টিটি মানা প্রদর্শন করে
Weight: 0.00755095 Volume: 0.00780526
এই মানা আমাদের বোঝায় যে, যদি ওজন 1g বাড়ে, তবে CO2 প্রদূষণ পরিমাণ 0.00755095g বাড়বে।
যদি ইঞ্জিনের মাপ (ভাণ্ডার) 1 ccm বাড়ে, তবে CO2 প্রদূষণ পরিমাণ 0.00780526g বাড়বে।
আমি এটা একটি সুস্থায়ী পূর্বাভাস বলতে মনে করি, কিন্তু কিছুটা পরীক্ষা করুন করুন!
আমরা পূর্বাভাস দিয়েছি যে, 1300ccm ইঞ্জিন সহ গাড়ির ওজন 2300 কিলোগ্রাম হলে, কার্বন ডাইঅক্সাইড উৎসর্জন প্রায় 107 গ্রাম হবে。
যদি 1000g ওজন বাড়ানো হয়, তবে কী হবে?
উদাহরণ
পূর্ববর্তী উদাহরণটি কপি করুন, কিন্তু গাড়ির ওজন 2300 থেকে 3300 করে পরিবর্তন করুন:
import pandas from sklearn import linear_model df = pandas.read_csv("cars.csv") X = df[['Weight', 'Volume']] y = df['CO2'] regr = linear_model.LinearRegression() regr.fit(X, y) predictedCO2 = regr.predict([[3300, 1300]]) print(predictedCO2)
ফলাফল:
[114.75968007]
আমরা পূর্বাভাস দিয়েছি যে, 1.3 লিটার ইঞ্জিন এবং 3.3 টন ওজনের গাড়ি, 1 কিলোমিটার পথ চলার সময় 115 গ্রাম কার্বন ডাইঅক্সাইড উৎসর্জন করবে。
এটা বলতে গেলে 0.00755095 এর হারক্ষা সঠিক হয়:
107.2087328 + (1000 * 0.00755095) = 114.75968
- পূর্ববর্তী পৃষ্ঠা বহুগুণীয় পুনর্গঠন
- পরবর্তী পৃষ্ঠা সমাপ্তি