Betere modellen bouwen
Eerder bouwde je een verzameling eenvoudige modellen om life expectancy te voorspellen met de feature year. Je vorige analyse liet zien dat sommige van deze modellen niet goed pasten.
In deze oefening bouw je voor elk land multiple-regressiemodellen met alle beschikbare features. Je wilt misschien de prestaties vergelijken van de vier slechtst passende modellen; daarom staan hun aangepaste \(R^2\)-waarden hieronder:
| Country | Adjusted \(R^2\) |
|---|---|
| Botswana | -0.0060772 |
| Lesotho | -0.0169851 |
| Zambia | 0.1668999 |
| Zimbabwe | 0.2083979 |
Deze oefening maakt deel uit van de cursus
Machine Learning in de tidyverse
Oefeninstructies
- Bouw voor elk land een lineair model dat
life_expectancyvoorspelt met elke feature in de gegevensset. - Voeg een kolom (
fit) toe met de fit-statistieken voor elk model en vereenvoudig dit data frame. - Print het aangepaste \(R^2\) in
fullmodel_perfvoor de vier landen uit hetworst_fit-dataframe.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Build a linear model for each country using all features
gap_fullmodel <- gap_nested %>%
mutate(model = map(data, ~lm(formula = ___, data = .x)))
fullmodel_perf <- gap_fullmodel %>%
# Extract the fit statistics of each model into data frames
mutate(fit = map(model, ~___(.x))) %>%
# Simplify the fit data frames for each model
unnest(___)
# View the performance for the four countries with the worst fitting four simple models you looked at before
fullmodel_perf %>%
___(country %in% worst_fit$country) %>%
select(country, adj.r.squared)