كيفية حساب r-squared المعدل في بايثون


R-squared ، غالبًا ما يُكتب R2 ، هو نسبة التباين في متغير الاستجابة الذي يمكن تفسيره بواسطة المتغيرات المتوقعة في نموذج الانحدار الخطي .

يمكن أن تتراوح قيمة R التربيعية من 0 إلى 1. تشير القيمة 0 إلى أن متغير الاستجابة لا يمكن تفسيره بواسطة المتغير المتنبئ على الإطلاق، بينما تشير القيمة 1 إلى أنه يمكن تفسير متغير الاستجابة بواسطة المتغير المتنبئ. وأوضح تماما دون خطأ من قبل المتنبئ. المتغيرات.

إن R-squared المعدل هو نسخة معدلة من R-squared والتي يتم ضبطها حسب عدد المتنبئين في نموذج الانحدار. يتم حسابه على النحو التالي:

تم تعديل R 2 = 1 – [(1-R 2 )*(n-1)/(nk-1)]

ذهب:

  • R 2 : R 2 للنموذج
  • n : عدد الملاحظات
  • k : عدد المتغيرات المتوقعة

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

يعرض هذا البرنامج التعليمي مثالين لحساب R2 المعدل لنموذج الانحدار في بايثون.

ذات صلة: ما هي قيمة R-squared الجيدة؟

مثال 1: حساب R-squared المعدل باستخدام sklearn

يوضح التعليمة البرمجية التالية كيفية ملاءمة نموذج الانحدار الخطي المتعدد وحساب مربع R الملائم للنموذج باستخدام sklearn:

 from sklearn. linear_model import LinearRegression
import pandas as pd

#define URL where dataset is located
url = "https://raw.githubusercontent.com/- Statorials/Python-Guides/main/mtcars.csv"

#read in data
data = pd. read_csv (url)

#fit regression model
model = LinearRegression ()
x, y = data[["mpg", "wt", "drat", "qsec"]], data.hp
model. fit (x,y)

#display adjusted R-squared
1 - (1-model. score (X, y))*( len (y)-1)/( len (y)-X. shape [1]-1)

0.7787005290062521

وتبين أن مربع R المعدل للنموذج هو 0.7787 .

مثال 2: حساب مربع R المعدل باستخدام النماذج الإحصائية

يوضح التعليمة البرمجية التالية كيفية ملاءمة نموذج الانحدار الخطي المتعدد وحساب مربع R الملائم للنموذج باستخدام نماذج الإحصاءات:

 import statsmodels. api as sm
import pandas as pd

#define URL where dataset is located
url = "https://raw.githubusercontent.com/- Statorials/Python-Guides/main/mtcars.csv"

#read in data
data = pd. read_csv (url)

#fit regression model
x, y = data[["mpg", "wt", "drat", "qsec"]], data.hp
X = sm. add_constant (X)
model = sm. OLS (y,x). fit ()

#display adjusted R-squared
print ( model.rsquared_adj )

0.7787005290062521

تبين أن مربع R المعدل للنموذج هو 0.7787 ، وهو ما يطابق نتيجة المثال السابق.

مصادر إضافية

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

Add a Comment

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