R로 하는 Supervised Learning: 회귀
Nina Zumel and John Mount
Win-Vector, LLC
$$ y \sim b0 + s1(x1) + s2(x2) + .... $$

gam(formula, family, data)
family:
대규모 데이터셋에 적합
anx ~ s(hassles)
s()는 해당 변수를 비선형으로 지정s() 사용
| 모델 | RMSE (교차 검증) | $R^2$ (훈련) |
|---|---|---|
| 선형 ($hassles$) | 7.69 | 0.53 |
| 2차 ($hassles^2$) | 6.89 | 0.63 |
| 3차 ($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$ 값: predict(model, type = "terms")
predict(model, newdata = hassleframe, type = "response")

올바른 변환을 아는 것이 가장 좋지만, 변환을 모를 때는 GAM이 유용합니다
| 모델 | RMSE (교차 검증) | $R^2$ (훈련) |
|---|---|---|
| 선형 ($hassles$) | 7.69 | 0.53 |
| 2차 ($hassles^2$) | 6.89 | 0.63 |
| 3차 ($hassles^3$) | 6.70 | 0.65 |
| GAM | 7.06 | 0.64 |
R로 하는 Supervised Learning: 회귀