Я экспериментирую с пакетом пастернака, используя набор данных Titani c.
library(titanic)
library(dplyr)
library(tidymodels)
library(rattle)
library(rpart.plot)
library(RColorBrewer)
train <- titanic_train %>%
mutate(Survived = factor(Survived),
Sex = factor(Sex),
Embarked = factor(Embarked))
test <- titanic_test %>%
mutate(Sex = factor(Sex),
Embarked = factor(Embarked))
spec_obj <-
decision_tree(mode = "classification") %>%
set_engine("rpart")
spec_obj
fit_obj <-
spec_obj %>%
fit(Survived ~ Pclass + Sex + Age + SibSp + Parch + Fare + Embarked, data = train)
fit_obj
fancyRpartPlot(fit_obj$fit)
pred <-
fit_obj %>%
predict(new_data = test)
pred
Допустим, я хотел бы добавить некоторые параметры в функцию модели.
spec_obj <- update(spec_obj, min_n = 50, cost_complexity = 0)
fit_obj <-
spec_obj %>%
fit(Survived ~ Pclass + Sex + Age + SibSp + Parch + Fare + Embarked, data = train)
fit_obj
fancyRpartPlot(fit_obj$fit)
Есть ли способ обойти указание модели и набора данных во второй раз в функции fit()
?
============= edit ======= =========
Я обнаружил, что вы можете сохранить формулу в переменной:
f <- as.formula("Survived ~ Pclass + Sex + Age + SibSp + Parch + Fare + Embarked")
fit_obj <-
spec_obj %>%
fit(f, data = train)
fit_obj
Тем не менее, может быть, есть лучший способ?