Python'da r-kare nasıl hesaplanır (örnekle)
R-kare , genellikle R2 olarak yazılır, doğrusal bir regresyon modelinde yordayıcı değişkenler tarafından açıklanabilen yanıt değişkenindeki varyansın oranıdır.
R karenin değeri 0 ila 1 arasında değişebilir; burada:
- 0 , yanıt değişkeninin yordayıcı değişken tarafından hiçbir şekilde açıklanamayacağını gösterir.
- 1, yanıt değişkeninin yordayıcı değişkenler tarafından hatasız olarak mükemmel bir şekilde açıklanabileceğini gösterir.
Aşağıdaki örnek Python’da bir regresyon modeli için R2’nin nasıl hesaplanacağını gösterir.
Örnek: Python’da R-kareyi hesaplama
Aşağıdaki pandalara sahip olduğumuzu varsayalım DataFrame:
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
Bir regresyon modeline uyum sağlamak için sklearn’in LinearRegression() fonksiyonunu ve modelin R-kare değerini hesaplamak için Score() fonksiyonunu kullanabiliriz:
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
Modelin R karesi 0,7176 olarak çıkıyor.
Bu, sınav puanlarındaki farklılığın %71,76’sının çalışılan saat ve alınan deneme sınavı sayısı ile açıklanabileceği anlamına gelmektedir.
İsteseydik, bu R-kare değerini farklı bir dizi öngörücü değişkene sahip başka bir regresyon modeliyle karşılaştırabilirdik.
Genel olarak daha yüksek R-kare değerlerine sahip modeller tercih edilir çünkü bu, modeldeki yordayıcı değişkenler kümesinin yanıt değişkenindeki değişimi iyi açıklayabildiği anlamına gelir.
İlgili: İyi bir R-kare değeri nedir?
Ek kaynaklar
Aşağıdaki eğitimlerde Python’da diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Python’da basit doğrusal regresyon nasıl gerçekleştirilir
Python’da çoklu doğrusal regresyon nasıl gerçekleştirilir
Python’da regresyon modellerinin AIC’si nasıl hesaplanır