علم البيانات - حالة الانحدار الخطي


الحالة: استخدم Duration + Average_Pulse للتنبؤ بحرق السعرات الحرارية

قم بإنشاء جدول انحدار خطي مع معدل_النبض والمدة كمتغيرات توضيحية:

مثال

import pandas as pd
import statsmodels.formula.api as smf

full_health_data = pd.read_csv("data.csv", header=0, sep=",")

model = smf.ols('Calorie_Burnage ~ Average_Pulse + Duration', data = full_health_data)
results = model.fit()
print(results.summary())

شرح المثال:

  • قم باستيراد مكتبة statsmodels.formula.api كـ smf. Statsmodels هي مكتبة إحصائية في بايثون.
  • استخدم مجموعة full_health_data.
  • أنشئ نموذجًا يعتمد على المربعات الصغرى العادية باستخدام smf.ols (). لاحظ أنه يجب كتابة المتغير التوضيحي أولاً بين القوسين. استخدم مجموعة بيانات full_health_data.
  • من خلال استدعاء .fit () ، تحصل على نتائج المتغير. هذا يحمل الكثير من المعلومات حول نموذج الانحدار.
  • ملخص المكالمة () للحصول على جدول بنتائج الانحدار الخطي.

انتاج:

حالة جدول الانحدار الخطي

يمكن إعادة كتابة دالة الانحدار الخطي رياضيًا على النحو التالي:

Calorie_Burnage = Average_Pulse * 3.1695 + Duration * 5.8424 - 334.5194

مقرب إلى رقمين عشريين:

Calorie_Burnage = Average_Pulse * 3.17 + Duration * 5.84 - 334.52


حدد وظيفة الانحدار الخطي في بايثون

حدد وظيفة الانحدار الخطي في بايثون لإجراء تنبؤات.

ما هو Calorie_Burnage إذا:

  • متوسط ​​النبض 110 ومدة الحصة التدريبية 60 دقيقة؟
  • متوسط ​​النبض 140 ومدة الحصة التدريبية 45 دقيقة؟
  • متوسط ​​النبض 175 ومدة الحصة التدريبية 20 دقيقة؟

مثال

def Predict_Calorie_Burnage(Average_Pulse, Duration):
 return(3.1695*Average_Pulse + 5.8434 * Duration - 334.5194)

print(Predict_Calorie_Burnage(110,60))
print(Predict_Calorie_Burnage(140,45))
print(Predict_Calorie_Burnage(175,20))

الاجابات:

  • متوسط ​​النبض 110 ومدة جلسة التدريب 60 دقيقة = 365 سعرة حرارية
  • متوسط ​​النبض 140 ومدة الحصة التدريبية 45 دقيقة = 372 سعرة حرارية
  • متوسط ​​النبض 175 ومدة الحصة التدريبية 20 دقيقة = 337 سعرة حرارية

الوصول إلى المعاملات

انظر إلى المعاملات:

  • يزيد معدل حرق السعرات الحرارية بمقدار 3.17 إذا زاد معدل النبض بمقدار واحد.
  • يزيد Calorie_Burnage بمقدار 5.84 إذا زادت المدة بمقدار واحد.

قم بالوصول إلى القيمة P

انظر إلى القيمة الاحتمالية لكل معامل.

  • القيمة الاحتمالية هي 0.00 للنبض المتوسط ​​والمدة والتقاطع.
  • تعتبر قيمة P ذات دلالة إحصائية لجميع المتغيرات ، حيث إنها أقل من 0.05.

هنا يمكننا أن نستنتج أن متوسط ​​النبضات والمدة لهما علاقة بـ Calorie_Burnage.


تعديل R- تربيع

توجد مشكلة في R-squared إذا كان لدينا أكثر من متغير توضيحي.

ستزداد R-squared دائمًا إذا أضفنا المزيد من المتغيرات ، ولن تنقص أبدًا.

هذا لأننا نضيف المزيد من نقاط البيانات حول دالة الانحدار الخطي.

إذا أضفنا متغيرات عشوائية لا تؤثر على Calorie_Burnage ، فإننا نجازف باستنتاج خطأ أن وظيفة الانحدار الخطي مناسبة. مربع R المعدل يضبط لهذه المشكلة.

لذلك من الأفضل النظر إلى قيمة التربيع R المعدلة إذا كان لدينا أكثر من متغير توضيحي واحد.

مربع R المعدل هو 0.814.

قيمة R-Squared دائمًا ما بين 0 إلى 1 (0٪ إلى 100٪).

  • تعني قيمة R-Squared العالية أن العديد من نقاط البيانات قريبة من خط دالة الانحدار الخطي.
  • تعني قيمة R-Squared المنخفضة أن خط دالة الانحدار الخطي لا يناسب البيانات جيدًا.

الخلاصة: النموذج يناسب نقطة البيانات جيدًا!

تهانينا! لقد انتهيت الآن من الوحدة النهائية لمكتبة علوم البيانات.