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 — القيمة حين كل المُدخلات صفر |
| R² | نسبة التباين المُفسَّر — كلما قرب من 1 كان أفضل |
| MSE / RMSE | متوسط مربع الخطأ أو جذره — وحدات y الأصلية لـ RMSE |
💡 نصائح عملية
- وحّد المقاسات (StandardScaler) قبل التدريب حين تختلف وحدات الميزات — وإلا سيطغى ميزان ميزة بمقاس أكبر
- افحص coef_ لتفسير النموذج: المعاملات الكبيرة = تأثير أكبر. هذا من أقوى مزايا الانحدار الخطي
⚠️ أخطاء شائعة
- تفسير coef_ كمهمّة سببية — الارتباط في البيانات التدريبية ≠ تأثير سببي في الواقع
- تطبيق الانحدار الخطي على y فئة (0/1) — استخدم Logistic Regression بدلًا منه
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار AI-ML الكامل بالعربي.
📚 للتعمق التقني الكامل بالإنجليزية: scikit-learn Documentation