
رگرسیون خطی: مقدمه، کاربردها و نحوه پیادهسازی
رگرسیون خطی (Linear Regression) یکی از سادهترین و پرکاربردترین الگوریتمهای یادگیری ماشین و آمار است که برای مدلسازی رابطه بین یک متغیر وابسته (هدف) و یک یا چند متغیر مستقل (پیشبینکننده) استفاده میشود. این روش بهخصوص در پیشبینیهای عددی، تحلیل داده و کشف روابط بین متغیرها کاربرد دارد.
انواع رگرسیون خطی
-
رگرسیون خطی ساده (Simple Linear Regression):
-
فقط یک متغیر مستقل دارد.
-
رابطه به صورت معادله خطی نمایش داده میشود:
y=β0+β1x+ϵy=β0+β1x+ϵ -
در این معادله:
-
yy: متغیر وابسته
-
xx: متغیر مستقل
-
β0β0: عرض از مبدأ (Intercept)
-
β1β1: شیب خط (Slope)
-
ϵϵ: خطای تصادفی
-
-
-
رگرسیون خطی چندگانه (Multiple Linear Regression):
-
چندین متغیر مستقل دارد.
-
معادله آن به صورت زیر است:
y=β0+β1x1+β2x2+⋯+βnxn+ϵy=β0+β1x1+β2x2+⋯+βnxn+ϵ
-
کاربردهای رگرسیون خطی
-
پیشبینی قیمت مسکن بر اساس متراژ، تعداد اتاقها و محل جغرافیایی
-
تحلیل فروش محصولات بر اساس هزینههای تبلیغات
-
پیشبینی نمرات دانشجویان بر اساس ساعت مطالعه
-
مدلسازی رابطه بین سن و فشار خون در تحقیقات پزشکی
معیارهای ارزیابی مدل رگرسیون
برای سنجش دقت مدل رگرسیون، از معیارهای زیر استفاده میشود:
-
مجموع مربعات خطا (SSE - Sum of Squared Errors)
-
میانگین مربعات خطا (MSE - Mean Squared Error)
-
ضریب تعیین (R² - R-Squared) که نشاندهنده میزان تناسب مدل با دادههاست (بین ۰ تا ۱).
پیادهسازی رگرسیون خطی در پایتون
در ادامه یک مثال ساده از پیادهسازی رگرسیون خطی با کتابخانه scikit-learn
آورده شده است:
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# دادههای نمونه
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1) # متغیر مستقل
y = np.array([2, 4, 5, 4, 5]) # متغیر وابسته
# آموزش مدل
model = LinearRegression()
model.fit(X, y)
# پیشبینی
y_pred = model.predict(X)
# نمایش نتایج
plt.scatter(X, y, color='blue', label='دادههای واقعی')
plt.plot(X, y_pred, color='red', label='خط رگرسیون')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()
print(f"عرض از مبدأ (Intercept): {model.intercept_}")
print(f"شیب خط (Slope): {model.coef_[0]}")
نتیجهگیری
رگرسیون خطی یک ابزار قدرتمند و درعینحال ساده برای تحلیل دادهها و پیشبینی مقادیر عددی است. با اینکه این روش فرضیات خاصی (مانند خطی بودن رابطه و نبود همخطی) دارد، اما در بسیاری از مسائل واقعی کاربرد دارد. یادگیری این مدل، پایهای برای درختان تصمیم، شبکههای عصبی و دیگر الگوریتمهای پیچیدهتر است.

نویسنده
سیدهادی موسوی
Tags: #علمی