بازگشت به دوره

آموزش رایگان صفر تا صد یادگیری ماشین (Machine Learning) به زبان ساده

0% تکمیل‌شده
0/0 مرحله

رگرسیون چندگانه (Multiple Regression) یکی از روش‌های پرکاربرد در یادگیری ماشین (Machine Learning) است که به ما کمک می‌کند مقدار یک متغیر را بر اساس چندین ویژگی پیش‌بینی کنیم. اگر با رگرسیون خطی ساده آشنا هستید، در آنجا فقط از یک متغیر مستقل برای پیش‌بینی مقدار خروجی استفاده می‌کردیم، اما در رگرسیون چندگانه می‌توانیم از چندین متغیر برای انجام این پیش‌بینی استفاده کنیم.

📌 مثال واقعی: تصور کنید که می‌خواهید مقدار گاز CO2 تولیدی خودروها را بر اساس وزن و حجم موتور آن‌ها پیش‌بینی کنید. هرچقدر حجم موتور یا وزن خودرو بیشتر باشد، احتمالاً میزان تولید CO2 هم افزایش پیدا می‌کند. اینجاست که رگرسیون چندگانه به کمک ما می‌آید!


فهرست مطالب 📌

  1. معرفی مجموعه‌داده و مفهوم رگرسیون چندگانه
  2. نحوه پیاده‌سازی در پایتون
  3. درک ضریب (Coefficient) و تأثیر آن
  4. تست مدل با تغییر وزن خودرو

1. معرفی مجموعه‌داده و مفهوم رگرسیون چندگانه 🔍

برای درک بهتر این مفهوم، مجموعه‌داده‌ای از مشخصات خودروها را بررسی می‌کنیم. این مجموعه شامل نام خودرو، مدل، حجم موتور، وزن و مقدار گاز CO2 تولیدی است.

📊 داده‌های خودروها

جدول خودروها
برندمدلحجم موتور (سی‌سی)وزن (کیلوگرم)CO₂ (گرم در کیلومتر)
ToyotaAygo100079099
MitsubishiSpace Star1200116095
SkodaCitigo100092995
Fiat50090086590
MiniCooper15001140105
MercedesC-Class2100136599

2. نحوه پیاده‌سازی در پایتون 🐍

📥 وارد کردن کتابخانه‌های موردنیاز

در پایتون، کتابخانه‌هایی مانند pandas و sklearn برای پردازش داده‌ها و اجرای مدل‌های یادگیری ماشین استفاده می‌شوند. ابتدا باید این کتابخانه‌ها را وارد کنیم:

import pandas
from sklearn import linear_model

📂 خواندن داده‌ها

فایل data.csv که شامل اطلاعات خودروها است، وارد می‌کنیم و یک DataFrame از آن می‌سازیم:

df = pandas.read_csv("data.csv")

📌 تعیین متغیرهای مستقل و وابسته

در اینجا:

  • X شامل متغیرهای وزن (Weight) و حجم موتور (Volume) است.
  • y مقدار CO2 تولیدی خودرو را نشان می‌دهد.
X = df[['Weight', 'Volume']]
y = df['CO2']

🔹 نکته: در یادگیری ماشین، معمولاً X را با حروف بزرگ و y را با حروف کوچک می‌نویسیم.

🏗️ ایجاد مدل رگرسیون

اکنون یک مدل رگرسیون خطی از ماژول sklearn ایجاد کرده و آن را با داده‌ها آموزش می‌دهیم:

regr = linear_model.LinearRegression()
regr.fit(X, y)

🔍 پیش‌بینی مقدار CO2

حالا مقدار CO2 یک خودروی فرضی با وزن 2300 کیلوگرم و حجم موتور 1300 سی‌سی را پیش‌بینی می‌کنیم:

predictedCO2 = regr.predict([[2300, 1300]])
print(predictedCO2)

📌 نتیجه: اگر این خودرو 1.3 لیتر حجم موتور و وزن 2300 کیلوگرم داشته باشد، میزان تولید CO2 آن تقریباً 107 گرم در کیلومتر خواهد بود.

3. درک ضریب (Coefficient) و تأثیر آن ⚖️

🔹 ضریب (Coefficient) یک مقدار عددی است که تأثیر یک متغیر مستقل بر مقدار خروجی را نشان می‌دهد. در این مدل، ضریب وزن و حجم موتور مشخص می‌کند که افزایش یک واحدی در هرکدام، چقدر CO2 بیشتری تولید می‌کند.

📌 نمایش ضرایب مدل

print(regr.coef_)

✅ نتیجه ضرایب:

[0.00755095 0.00780526]

🔹 تحلیل:

  • وزن خودرو: به ازای افزایش 1 کیلوگرم در وزن خودرو، میزان CO2 تولیدی 0.00755 گرم در کیلومتر افزایش می‌یابد.
  • حجم موتور: به ازای افزایش 1 سی‌سی در حجم موتور، میزان CO2 تولیدی 0.00780 گرم در کیلومتر افزایش می‌یابد.

4. تست مدل با تغییر وزن خودرو 🚗⚖️

حالا ببینیم اگر وزن خودرو را 1000 کیلوگرم افزایش دهیم، چقدر CO2 بیشتری تولید می‌شود.

🔍 محاسبه CO2 برای خودرو با وزن 3300 کیلوگرم

predictedCO2 = regr.predict([[3300, 1300]])
print(predictedCO2)

✅ نتیجه:

[114.75968007]

📌 تحلیل:

  • مقدار اولیه CO2 برای وزن 2300 کیلوگرم برابر 107 گرم بود.
  • پس از افزایش وزن به 3300 کیلوگرم، مقدار CO2 به 115 گرم رسید.
  • این افزایش مطابق با فرمول محاسبه شده است:
107.2087328 + (1000 * 0.00755095) = 114.75968

نتیجه‌گیری: این مدل به‌درستی پیش‌بینی می‌کند که با افزایش وزن، میزان تولید CO2 افزایش می‌یابد.


نتیجه‌گیری 🎯

رگرسیون چندگانه یکی از بهترین روش‌های یادگیری ماشین برای پیش‌بینی مقدار خروجی بر اساس چندین ویژگی ورودی است. در اینجا یاد گرفتیم که:
✅ چگونه از pandas و sklearn برای پیاده‌سازی مدل رگرسیون چندگانه استفاده کنیم.
✅ چگونه تأثیر متغیرهای مستقل (وزن و حجم موتور) را بر مقدار CO2 بررسی کنیم.
✅ چگونه ضرایب رگرسیون را بخوانیم و تحلیل کنیم.

💡 چالش برای شما: مدل را گسترش دهید و تأثیر ویژگی‌های دیگر مثل تعداد سیلندر یا نوع سوخت را هم روی CO2 بررسی کنید.

📌 سوال: آیا به‌نظر شما می‌توانیم از همین مدل برای پیش‌بینی مصرف سوخت هم استفاده کنیم؟ 🤔 پاسخ خود را در نظرات بنویسید! 🚀