Apprentissage supervisé en R : régression
Nina Zumel and John Mount
Win-Vector, LLC



Pour une distribution normale :
model <- lm(log(y) ~ x, data = train)
model <- lm(log(y) ~ x, data = train)
logpred <- predict(model, data = test)
model <- lm(log(y) ~ x, data = train)
logpred <- predict(model, data = test)
pred <- exp(logpred)
$log(a) + log(b) = log(ab)$
$log(a) - log(b) = log(a/b)$
Réduire l'erreur multiplicative réduit l'erreur relative.
Erreur quadratique moyenne relative (RMS) = $\sqrt{ \overline{ (\frac{pred-y}{y})^2 }}$
modIncome <- lm(Income ~ AFQT + Educ, data = train)
AFQT : score à un test d'aptitudes 25 ans avant l'enquêteEduc : années de scolarité au moment de l'enquêteIncome : revenu au moment de l'enquêtetest %>%
+ mutate(pred = predict(modIncome, newdata = test),
+ err = pred - Income) %>%
+ summarize(rmse = sqrt(mean(err^2)),
+ rms.relerr = sqrt(mean((err/Income)^2)))
| RMSE | Erreur RMS relative |
|---|---|
| 36 819,39 | 3,295189 |
modLogIncome <- lm(log(Income) ~ AFQT + Educ, data = train)
test %>%
+ mutate(predlog = predict(modLogIncome, newdata = test),
+ pred = exp(predlog),
+ err = pred - Income) %>%
+ summarize(rmse = sqrt(mean(err^2)),
+ rms.relerr = sqrt(mean((err/Income)^2)))
| RMSE | Erreur RMS relative |
|---|---|
| 38 906,61 | 2,276865 |
Modèle log(Income) : erreur RMS relative plus faible, RMSE plus élevé
| Modèle | RMSE | Erreur RMS relative |
|---|---|---|
Sur Income |
36 819,39 | 3,295189 |
Sur log(Income) |
38 906,61 | 2,276865 |
Apprentissage supervisé en R : régression