Eingaben vor dem Modellieren transformieren

Überwachtes Lernen in R: Regression

Nina Zumel and John Mount

Win-Vector LLC

Warum Eingabevariablen transformieren

  • Domänenwissen/synthetische Variablen
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
Überwachtes Lernen in R: Regression

Warum Eingabevariablen transformieren

  • Domänenwissen/synthetische Variablen
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
  • Pragmatische Gründe
    • Log-Transformation zur Verringerung der Dynamik
    • Log-Transformation, wenn sinnvolle Änderungen multiplikativ sind
Überwachtes Lernen in R: Regression

Warum Eingabevariablen transformieren

  • Domänenwissen/synthetische Variablen
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
  • Pragmatische Gründe
    • Log-Transformation zur Verringerung der Dynamik
    • Log-Transformation, wenn sinnvolle Änderungen multiplikativ sind
    • $y$ ist näherungsweise linear in $f(x)$ statt in $x$
Überwachtes Lernen in R: Regression

Beispiel: Angst vorhersagen

Überwachtes Lernen in R: Regression

Die Variable hassles transformieren

Überwachtes Lernen in R: Regression

Verschiedene mögliche Fits

Welche ist am besten?

  • anx ~ I(hassles^2)
  • anx ~ I(hassles^3)
  • anx ~ I(hassles^2) + I(hassles^3)
  • anx ~ exp(hassles)
  • ...

I(): Ausdruck wörtlich behandeln (nicht als Interaktion)

Überwachtes Lernen in R: Regression

Modelle vergleichen

Lineare, quadratische und kubische Modelle

mod_lin <- lm(anx ~ hassles, hassleframe)
summary(mod_lin)$r.squared
0.5334847
mod_quad <- lm(anx ~ I(hassles^2), hassleframe)
summary(mod_quad)$r.squared
0.6241029
mod_tritic <- lm(anx ~ I(hassles^3), hassleframe)
summary(mod_tritic)$r.squared
0.6474421
Überwachtes Lernen in R: Regression

Modelle vergleichen

Bewerte die Modelle per Cross-Validation

Model RMSE
Linear ($hassles$) 7.69
Quadratic ($hassles^2$) 6.89
Cubic ($hassles^3$) 6.70
Überwachtes Lernen in R: Regression

Lass uns üben!

Überwachtes Lernen in R: Regression

Preparing Video For Download...