Bir Modeli Doğru Şekilde Eğitme

R'de Supervised Learning: Regresyon

Nina Zumel and John Mount

Win-Vector, LLC

Modeller eğitimde gelecekteki verilere göre çok daha iyi performans gösterebilir.

  • Eğitim $R^2$: 0.9; Test $R^2$: 0.15 -- Aşırı uyum
R'de Supervised Learning: Regresyon

Test/Train Bölme

Veri bolken önerilen yöntem

R'de Supervised Learning: Regresyon

Örnek: Kadın İşsizlik Modeli

  • 66 satırda eğit, 30 satırda test et
R'de Supervised Learning: Regresyon

Model Performansı: Eğitim vs. Test

  • Eğitim: RMSE 0.71, $R^2$ 0.8
  • Test: RMSE 0.93, $R^2$ 0.75
R'de Supervised Learning: Regresyon

Çapraz Doğrulama

Veri test setine bölmek için yeterince büyük değilse tercih edilir

R'de Supervised Learning: Regresyon

Çapraz Doğrulama

R'de Supervised Learning: Regresyon

Çapraz Doğrulama

R'de Supervised Learning: Regresyon

Çapraz Doğrulama

R'de Supervised Learning: Regresyon

Bir çapraz doğrulama planı oluştur

library(vtreat)
splitPlan <- kWayCrossValidation(nRows, nSplits, NULL, NULL)
  • nRows: eğitim verisindeki satır sayısı
  • nSplits: çapraz doğrulamadaki kat (bölüm) sayısı
    • ör. 3 yönlü çapraz doğrulama için nfolds = 3
  • kalan 2 argümana burada gerek yok
R'de Supervised Learning: Regresyon

Bir çapraz doğrulama planı oluştur

library(vtreat)
splitPlan <- kWayCrossValidation(10, 3, NULL, NULL)

İlk kat (A ve B eğitim, C test)

splitPlan[[1]]
$train
1  2  4  5  7  9 10
$app
3 6 8

A ve B'de eğit, C'de test et, vb.

split <- splitPlan[[1]]
model <- lm(fmla, data = df[split$train,])
df$pred.cv[split$app] <- predict(model, newdata = df[split$app,])
R'de Supervised Learning: Regresyon

Nihai Model

R'de Supervised Learning: Regresyon

Örnek: İşsizlik Modeli

Ölçüm türü RMSE $R^2$
eğitim 0.7082675 0.8029275
test 0.9349416 0.7451896
çapraz doğrulama 0.8175714 0.7635331
R'de Supervised Learning: Regresyon

Hadi pratik yapalım!

R'de Supervised Learning: Regresyon

Preparing Video For Download...