Övervakad inlärning i R: Regression
Nina Zumel and John Mount
Win-Vector, LLC
$$ y \sim b0 + s1(x1) + s2(x2) + .... $$

gam(formula, family, data)
family:
Bäst för större datamängder
anx ~ s(hassles)
s() anger att variabeln ska vara icke-linjärs() med kontinuerliga variabler
| Modell | RMSE (korsvalidering) | $R^2$ (träning) |
|---|---|---|
| Linjär ($hassles$) | 7,69 | 0,53 |
| Kvadratisk ($hassles^2$) | 6,89 | 0,63 |
| Kubisk ($hassles^3$) | 6,70 | 0,65 |
model <- gam(
anx ~ s(hassles),
data = hassleframe,
family = gaussian
)
summary(model)
...
R-sq.(adj) = 0.619 Deviance explained = 64.1%
GCV = 49.132 Scale est. = 45.153 n = 40
plot(model)

$y$-värden: predict(model, type = "terms")
predict(model, newdata = hassleframe, type = "response")

Att känna till rätt transformation är bäst, men GAM är användbart när den är okänd
| Modell | RMSE (korsvalidering) | $R^2$ (träning) |
|---|---|---|
| Linjär ($hassles$) | 7,69 | 0,53 |
| Kvadratisk ($hassles^2$) | 6,89 | 0,63 |
| Kubisk ($hassles^3$) | 6,70 | 0,65 |
| GAM | 7,06 | 0,64 |
Övervakad inlärning i R: Regression