Antrenarea corectă a unui model

Învățare supervizată în R: Regresia

Nina Zumel and John Mount

Win-Vector, LLC

Modelele pot performa mult mai bine pe datele de antrenament decât pe date noi.

  • $R^2$ antrenament: 0,9; $R^2$ test: 0,15 -- Supraajustare
Învățare supervizată în R: Regresia

Împărțire test/antrenament

Metodă recomandată când datele sunt suficiente

Învățare supervizată în R: Regresia

Exemplu: Model pentru șomajul feminin

  • Antrenament pe 66 de rânduri, testare pe 30 de rânduri
Învățare supervizată în R: Regresia

Performanța modelului: antrenament vs. test

  • Antrenament: RMSE 0,71, $R^2$ 0,8
  • Test: RMSE 0,93, $R^2$ 0,75
Învățare supervizată în R: Regresia

Validare încrucișată

Preferată când datele sunt insuficiente pentru a separa un set de testare

Învățare supervizată în R: Regresia

Validare încrucișată

Învățare supervizată în R: Regresia

Validare încrucișată

Învățare supervizată în R: Regresia

Validare încrucișată

Învățare supervizată în R: Regresia

Crearea unui plan de validare încrucișată

library(vtreat)
splitPlan <- kWayCrossValidation(nRows, nSplits, NULL, NULL)
  • nRows: numărul de rânduri din datele de antrenament
  • nSplits: numărul de partiții în validarea încrucișată
    • ex., nfolds = 3 pentru validare încrucișată în 3 partiții
  • celelalte 2 argumente nu sunt necesare aici
Învățare supervizată în R: Regresia

Crearea unui plan de validare încrucișată

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

Prima partiție (A și B pentru antrenament, C pentru testare)

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

Antrenament pe A și B, testare pe C etc.

split <- splitPlan[[1]]
model <- lm(fmla, data = df[split$train,])
df$pred.cv[split$app] <- predict(model, newdata = df[split$app,])
Învățare supervizată în R: Regresia

Modelul final

Învățare supervizată în R: Regresia

Exemplu: Model pentru șomaj

Tip de măsură RMSE $R^2$
antrenament 0.7082675 0.8029275
test 0.9349416 0.7451896
validare încrucișată 0.8175714 0.7635331
Învățare supervizată în R: Regresia

Să exersăm!

Învățare supervizată în R: Regresia

Preparing Video For Download...