Cara menghitung r-kuadrat dengan python (dengan contoh)
R-squared , sering ditulis R2 , adalah proporsi varians variabel respon yang dapat dijelaskan oleh variabel prediktor dalam model regresi linier .
Nilai R kuadrat dapat bervariasi dari 0 hingga 1 dimana:
- 0 menunjukkan bahwa variabel respon sama sekali tidak dapat dijelaskan oleh variabel prediktor.
- Angka 1 menunjukkan bahwa variabel respon dapat dijelaskan dengan sempurna tanpa kesalahan oleh variabel prediktor.
Contoh berikut menunjukkan cara menghitung R 2 untuk model regresi dengan Python.
Contoh: menghitung R-kuadrat dengan Python
Misalkan kita memiliki panda DataFrame berikut:
import pandas as pd #createDataFrame df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6], ' prep_exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2], ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96]}) #view DataFrame print (df) hours prep_exams score 0 1 1 76 1 2 3 78 2 2 3 85 3 4 5 88 4 2 2 72 5 1 2 69 6 5 1 94 7 4 1 94 8 2 0 88 9 4 3 92 10 4 4 90 11 3 3 75 12 6 2 96
Kita dapat menggunakan fungsi LinearRegression() sklearn untuk menyesuaikan model regresi dan fungsi score() untuk menghitung nilai R-kuadrat model:
from sklearn.linear_model import LinearRegression
#initiate linear regression model
model = LinearRegression()
#define predictor and response variables
x, y = df[[" hours ", " prep_exams "]], df. score
#fit regression model
model. fit (x,y)
#calculate R-squared of regression model
r_squared = model. score (x,y)
#view R-squared value
print (r_squared)
0.7175541714105901
R kuadrat model tersebut ternyata 0,7176 .
Artinya 71,76% variasi nilai ujian dapat dijelaskan oleh jumlah jam belajar dan jumlah ujian praktik yang diambil.
Jika diinginkan, kita dapat membandingkan nilai R-kuadrat ini dengan model regresi lain dengan serangkaian variabel prediktor berbeda.
Secara umum, model dengan nilai R-kuadrat yang lebih tinggi lebih disukai karena berarti himpunan variabel prediktor dalam model mampu menjelaskan variasi variabel respon dengan baik.
Terkait: Berapa nilai R-kuadrat yang bagus?
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya dengan Python:
Cara melakukan regresi linier sederhana dengan Python
Cara melakukan regresi linier berganda dengan Python
Cara menghitung AIC model regresi dengan Python