كيفية عرض معادلة الانحدار في seaborn regplot


يمكنك استخدام وظيفة Seaborn regplot لرسم نموذج انحدار خطي يناسب مجموعة البيانات.

لسوء الحظ، لا يحتوي Seaborn على ميزة مدمجة لاستخراج معادلة الانحدار من السطر، ولكن يمكنك استخدام وظيفة scipy.stats.linregress للعثور بسرعة على معاملات الانحدار:

 import scipy
import seaborn as sns

#create regplot
p = sns. regplot (data=df, x=df. x , y=df. y )

#calculate slope and intercept of regression equation
slope, intercept, r, p, sterr = scipy. stats . linregress (x= p.get_lines ()[0] .get_xdata (),
                                                       y=p. get_lines ()[0]. get_ydata ())

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

مثال: إظهار معادلة الانحدار في Seaborn Regplot

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' score ': [77, 79, 84, 80, 81, 89, 95, 90, 83, 89]})

#view DataFrame
print (df)

   hours score
0 1 77
1 2 79
2 3 84
3 4 80
4 5 81
5 6 89
6 7 95
7 8 90
8 9 83
9 10 89

لنفترض أننا نريد رسم نقاط البيانات وإضافة خط انحدار مناسب إلى البيانات.

يمكننا استخدام بناء الجملة التالي للقيام بذلك:

 import scipy
import seaborn as sns

#create regplot
p = sns. regplot (data=df, x=df. hours , y=df. score )

#calculate slope and intercept of regression equation
slope, intercept, r, p, sterr = scipy. stats . linregress (x= p.get_lines ()[0] .get_xdata (),
                                                       y=p. get_lines ()[0]. get_ydata ())

#display slope and intercept of regression equation
print (intercept, slope)

77.39999999999995 1.3272727272727356

ومن النتيجة يمكننا أن نرى أن خط الانحدار له المعادلة التالية:

ص = 77.4 + 1.327

إذا أردنا عرض هذه المعادلة على Seaborn regplot ، يمكننا استخدام الدالة matplotlib text() :

 import matplotlib. pyplot as plt
import scipy
import seaborn as sns

#create regplot
p = sns. regplot (data=df, x=df. hours , y=df. score )

#calculate slope and intercept of regression equation
slope, intercept, r, p, sterr = scipy. stats . linregress (x= p.get_lines ()[0] .get_xdata (),
                                                       y=p. get_lines ()[0]. get_ydata ())

#add regression equation to plot
plt. text (2, 95, ' y = ' + str(round(intercept,3)) + ' + ' + str(round(slope,3)) + ' x ') 

معادلة Seaborn regplot

لاحظ أن معادلة الانحدار معروضة الآن في الزاوية اليسرى العليا من المخطط.

لاحظ أنه في الدالة text() حددنا أنه يجب عرض معادلة الانحدار من إحداثيات (x، y) لـ (2، 95).

لا تتردد في تعديل هذه الإحداثيات لعرض معادلة الانحدار أينما تريد في المخطط الخاص بك.

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة seaborn regplot هنا .

مصادر إضافية

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

كيفية ضبط حجم الشكل لمؤامرة Seaborn
كيفية تغيير موضع الأسطورة في Seaborn
كيفية تغيير تسميات المحاور على قطعة أرض Seaborn

Add a Comment

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