DEV Community

MustafaLSailor
MustafaLSailor

Posted on

R2

R2 skoru, bir regresyon modelinin ne kadar iyi performans gösterdiğini ölçmek için kullanılan bir metriktir. Adı genellikle "R kare" olarak okunur ve "açıklanan varyansın yüzdesi" olarak da bilinir.

R2 skoru, bağımsız değişkenler tarafından bağımlı değişkendeki varyansın ne kadarının açıklanabildiğini ölçer. Yani, modelin verilerin dağılımını ne kadar iyi yakaladığını belirler.

R2 skorunun değeri 0 ile 1 arasında değişir:

R2 skoru 1'e yaklaştıkça, modelin performansı artar. R2 skoru 1 olduğunda, model tüm varyansı mükemmel bir şekilde açıklar. Yani, model verileri mükemmel bir şekilde tahmin eder.
R2 skoru 0'a yaklaştıkça, modelin performansı düşer. R2 skoru 0 olduğunda, model hiçbir varyansı açıklayamaz. Yani, model verileri tahmin etme konusunda çok kötüdür.
Makine öğrenmesinde R2 skoru, bir regresyon modelinin ne kadar iyi performans gösterdiğini değerlendirmek için yaygın olarak kullanılır. Ancak, R2 skorunun her zaman mükemmel bir performans göstergesi olmadığını unutmamak önemlidir. Örneğin, aşırı uyumlu bir modelin R2 skoru çok yüksek olabilir, ancak bu model yeni verilerle iyi performans göstermeyebilir.

Python'da, scikit-learn kütüphanesi r2_score fonksiyonunu sağlar. Bu fonksiyon, gerçek değerler ve modelin tahminleri arasındaki R2 skorunu hesaplar. İşte bir örnek:

from sklearn.metrics import r2_score

# Assume y_true are the true values and y_pred are the model's predictions
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]

r2 = r2_score(y_true, y_pred)
print(r2)
Enter fullscreen mode Exit fullscreen mode

Bu kodun çıktısı R2 skorunu yazar.

Formülü ise şu şekildedir.

Image description

Evet, tabii ki. R2 skoru genellikle aşağıdaki formül ile hesaplanır:

R^2 = 1 - (SSres / SStot)

Burada:

SSres, "rezidüel kareler toplamı" anlamına gelir. Bu, modelin tahminlerinin ve gerçek değerlerin farkının karelerinin toplamıdır. Yani, bu, modelin hatalarının karelerinin toplamını ölçer.

SStot, "toplam kareler toplamı" anlamına gelir. Bu, gerçek değerlerin ve gerçek değerlerin ortalamasının farkının karelerinin toplamıdır. Yani, bu, verilerin ne kadar değişken olduğunu ölçer.

Formülde SSres / SStot oranı, modelin hatalarının verilerin toplam değişkenliğine oranını verir. Bu oran, 0'dan büyük veya eşit ve 1'den küçük veya eşit olmalıdır. Eğer model mükemmel bir tahmin yaparsa (yani, tüm tahminler doğruysa), o zaman SSres 0 olur ve bu nedenle R^2 1 olur.

R^2 skorunun 1'den çıkartılması, modelin açıkladığı varyansın yüzdesini verir. Yani, R^2 = 1 - (SSres / SStot) formülü, bağımsız değişken(ler) tarafından bağımlı değişkendeki varyansın ne kadarının açıklanabildiğini ölçer.

Bu nedenle, R^2 skoru genellikle bir regresyon modelinin ne kadar iyi performans gösterdiğini ölçmek için kullanılır. Ancak, R^2 skorunun her zaman mükemmel bir performans göstergesi olmadığını unutmamak önemlidir. Örneğin, aşırı uyumlu bir modelin R^2 skoru çok yüksek olabilir, ancak bu model yeni verilerle iyi performans göstermeyebilir.

Top comments (0)