كيفية استخراج معاملات الانحدار من نموذج scikit-learn


يمكنك استخدام الصيغة الأساسية التالية لاستخراج معاملات الانحدار من نموذج الانحدار المبني باستخدام scikit-learn في Python:

 p.d. DataFrame ( zip ( X.columns , model.coef_ ))

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: استخراج معاملات الانحدار من نموذج Scikit-Learn

لنفترض أن لدينا DataFrame الباندا التالي الذي يحتوي على معلومات حول ساعات الدراسة وعدد الاختبارات الإعدادية التي تم إجراؤها ودرجة الاختبار النهائي التي حصل عليها 11 طالبًا في الفصل:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4],
                   ' exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4],
                   ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90]})

#view DataFrame
print (df)

    hours exam score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90

يمكننا استخدام الكود التالي لملاءمة نموذج الانحدار الخطي المتعدد باستخدام الساعات والامتحانات كمتغيرات تنبؤية والنتيجة كمتغير الاستجابة:

 from sklearn. linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
x, y = df[[' hours ', ' exams ']], df. score

#fit regression model
model. fit (x,y)

يمكننا بعد ذلك استخدام الصيغة التالية لاستخراج معاملات الانحدار للساعات والامتحانات :

 #print regression coefficients
p.d. DataFrame ( zip ( X.columns , model.coef_ ))

            0 1
0 hours 5.794521
1 exams -1.157647

ومن النتيجة يمكننا أن نرى معاملات الانحدار للمتغيرين المتوقعين في النموذج:

  • معامل الساعات : 5.794521
  • معامل الامتحانات : -1.157647

إذا أردنا، يمكننا أيضًا استخدام الصيغة التالية لاستخراج القيمة الأصلية من نموذج الانحدار:

 #print intercept value
print (model. intercept_ )

70.48282057040197

وباستخدام كل من هذه القيم يمكننا كتابة معادلة نموذج الانحدار الملائم:

النتيجة = 70.483 + 5.795 (ساعات) – 1.158 (امتحانات)

يمكننا بعد ذلك استخدام هذه المعادلة للتنبؤ بدرجة الاختبار النهائي للطالب بناءً على عدد الساعات التي يقضيها في الدراسة وعدد الاختبارات التدريبية التي تم إجراؤها.

على سبيل المثال، الطالب الذي درس لمدة 3 ساعات وأدى امتحانين تحضيريين يجب أن يحصل على الدرجة النهائية 85.55 :

  • النتيجة = 70.483 + 5.795 (ساعات) – 1.158 (امتحانات)
  • النتيجة = 70.483 + 5.795(3) – 1.158(2)
  • النتيجة = 85.55

ذات صلة: كيفية تفسير معاملات الانحدار

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في بايثون:

كيفية إجراء الانحدار الخطي البسيط في بايثون
كيفية إجراء الانحدار الخطي المتعدد في بايثون
كيفية حساب AIC لنماذج الانحدار في بايثون

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *