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

Tambahkan komentar

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