تخطَّ إلى المحتوى

Linear Regression

الانحدار الخطي (Linear Regression) Linear Regression

الانحدار الخطي يفترض علاقة خطية بين المُدخلات والمُخرج: y = w·X + b، ويُقدّر w وb بأقل ما يمكن من مجموع مربعات الفروق (OLS).

الانحدار الخطي من أبسط وأقدم نماذج ML: يفترض أن المُخرج y خطي في المُدخلات X، فيحسب معاملات w (وزن لكل ميزة) وb (انحياز) بحيث يكون مجموع (y_predicted − y_actual)² أقل ما يمكن. الحل التحليلي الدقيق موجود (Normal Equation) عبر pseudoinverse، أو تكراريًا عبر Gradient Descent حين يكون عدد المعاملات كبيرًا.

افتراضاته: خطية العلاقة، تجانس التباين (homoscedasticity)، استقلال الأخطاء، عدم ارتباط المُدخلات (multicollinearity). الانتهاك الجذري لأي منها يستدعي نموذجًا آخر أو معالجة مسبقة.

أشكاله المتقدمة: Ridge (L2 regularization)، Lasso (L1 regularization يفرض صفريًا على معاملات)، ElasticNet (مزيج L1/L2). كلّها تختلف بانحيازها نحو تباين أقل، مفيدة حين عدد الميزات كبير أو مرتبطًا.

الصياغة

y = w₁·x₁ + w₂·x₂ + ... + wₙ·xₙ + b

# التدريب بأقل مجموع مربعات (OLS):
min Σ (y_pred − y_true)²

📄 مثال

from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split

X, y = make_regression(n_samples=200, n_features=3, noise=10, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)

model = LinearRegression()
model.fit(X_train, y_train)

print(f"المعاملات: {model.coef_.round(2)}")
print(f"الانحياز: {model.intercept_:.2f}")
print(f"R² اختبار: {model.score(X_test, y_test):.3f}")

أهم النقاط

النقطةالوظيفة
coef_مصفوفة المعاملات w — وزن كل ميزة
intercept_الانحياز b — القيمة حين كل المُدخلات صفر
نسبة التباين المُفسَّر — كلما قرب من 1 كان أفضل
MSE / RMSEمتوسط مربع الخطأ أو جذره — وحدات y الأصلية لـ RMSE

💡 نصائح عملية

  • وحّد المقاسات (StandardScaler) قبل التدريب حين تختلف وحدات الميزات — وإلا سيطغى ميزان ميزة بمقاس أكبر
  • افحص coef_ لتفسير النموذج: المعاملات الكبيرة = تأثير أكبر. هذا من أقوى مزايا الانحدار الخطي

⚠️ أخطاء شائعة

  • تفسير coef_ كمهمّة سببية — الارتباط في البيانات التدريبية ≠ تأثير سببي في الواقع
  • تطبيق الانحدار الخطي على y فئة (0/1) — استخدم Logistic Regression بدلًا منه

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار AI-ML الكامل بالعربي.

📚 للتعمق التقني الكامل بالإنجليزية: scikit-learn Documentation