library(tidymodels)
data(ames)tidymodels-ames-01
ds1
tidymodels
prediction
yacsda
statlearning
num
Aufgabe
Berechnen Sie ein lineares Modell mit tidymodels und zwar anhand des ames Datensatzes.
Modellgleichung: Sale_Price ~ Gr_Liv_Area, data = ames.
Berechnen Sie ein multiplikatives (exponenzielles) Modell.
Gesucht ist R-Quadrat als Maß für die Modellgüte im Train-Sample.
Hinweise:
- Fixieren Sie die Zufallszahlen auf den Startwert 42.
Lösung
Multiplikatives Modell:
ames <-
ames %>%
mutate(Sale_Price = log10(Sale_Price))Datensatz aufteilen:
ames_split <- initial_split(ames, prop = 0.80, strata = Sale_Price)
ames_train <- training(ames_split)
ames_test <- testing(ames_split)Modell definieren:
m1 <-
linear_reg() # engine ist "lm" im DefaultModell fitten:
fit1 <-
m1 %>%
fit(Sale_Price ~ Gr_Liv_Area, data = ames)fit1 %>% pluck("fit") Modellgüte im Train-Sample:
fit1_performance <-
fit1 %>%
extract_fit_engine() # identisch zu pluck("fit")Modellgüte:
fit1_performance %>% summary()R-Quadrat via easystats:
library(easystats)
fit1_performance %>% r2() # rmse()tidy(fit1_performance) # ähnlich zu parameters()sol <- 0.484Categories:
- ds1
- tidymodels
- prediction
- yacsda
- statlearning
- num