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