Cara menghitung r-kuadrat yang disesuaikan dengan python


R-squared , sering ditulis R2 , adalah proporsi varians variabel respon yang dapat dijelaskan oleh variabel prediktor dalam model regresi linier .

Nilai R squared dapat berkisar antara 0 hingga 1. Nilai 0 menunjukkan bahwa variabel respon sama sekali tidak dapat dijelaskan oleh variabel prediktor, sedangkan nilai 1 menunjukkan bahwa variabel respon dapat dijelaskan oleh variabel prediktor. dijelaskan dengan sempurna tanpa kesalahan oleh prediktor. variabel.

R-squared yang disesuaikan adalah versi modifikasi dari R-squared yang menyesuaikan jumlah prediktor dalam model regresi. Ini dihitung sebagai berikut:

Disesuaikan R 2 = 1 – [(1-R 2 )*(n-1)/(nk-1)]

Emas:

  • R 2 : R 2 model
  • n : Jumlah observasi
  • k : Banyaknya variabel prediktor

Karena R2 selalu meningkat saat Anda menambahkan prediktor ke model, R2 yang disesuaikan dapat berfungsi sebagai metrik yang memberi tahu Anda seberapa berguna suatu model, disesuaikan berdasarkan jumlah prediktor dalam model .

Tutorial ini menunjukkan dua contoh penghitungan R2 yang disesuaikan untuk model regresi dengan Python.

Terkait: Berapa nilai R-kuadrat yang bagus?

Contoh 1: hitung R-kuadrat yang disesuaikan dengan sklearn

Kode berikut menunjukkan cara menyesuaikan model regresi linier berganda dan menghitung R-kuadrat model menggunakan 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-kuadrat model yang disesuaikan ternyata 0,7787 .

Contoh 2: Hitung R-kuadrat yang disesuaikan dengan model statistik

Kode berikut menunjukkan cara menyesuaikan model regresi linier berganda dan menghitung R-kuadrat model yang sesuai menggunakan statsmodels:

 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-kuadrat model yang disesuaikan ternyata adalah 0,7787 , yang cocok dengan hasil contoh sebelumnya.

Sumber daya tambahan

Cara melakukan regresi linier sederhana dengan Python
Cara melakukan regresi linier berganda dengan Python
Cara menghitung AIC model regresi dengan Python

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *