library(tidymodels)
data(ames)tidymodels-ames-04
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 TEST-Sample.
Hinweise:
- Fixieren Sie die Zufallszahlen auf den Startwert 42.
- Verwenden Sie die Funktion
last_fit.
Lösung
Multiplikatives Modell:
ames <-
ames %>%
mutate(Sale_Price = log10(Sale_Price)) %>%
select(Sale_Price, Gr_Liv_Area)Nicht vergessen: AV-Transformation in beiden Samples!
Datensatz aufteilen:
set.seed(42)
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 DefaultRezept definieren:
rec1 <-
recipe(Sale_Price ~ Gr_Liv_Area, data = ames) Vorhersagen mit last_fit:
fit1_last <- last_fit(object = m1, preprocessor = rec1, split = ames_split)
fit1_lastWir bekommen ein Objekt, in dem Fit, Modellgüte, Vorhersagen und Hinweise enthalten sind.
Ohne Rezept lässt sich last_fit nicht anwenden.
Vorhersagen:
fit1_last %>% collect_predictions() %>%
head()Modellgüte im Test-Sample:
fit1_last %>% collect_metrics()R-Quadrat:
sol <- 0.517
solCategories:
- ds1
- tidymodels
- prediction
- yacsda
- statlearning
- num