Предоставляет ли TidyModels возможность выполнять моделирование множества моделей? - PullRequest
0 голосов
/ 17 июня 2020

Недавно я использовал TidyModels, и мне было интересно, есть ли у него функциональность для многих моделей, аналогичная той, что была доступна в Modelr, как представлено в главе «Многие модели» в R For Data Science.

Я просмотрел документацию, но не видел этого.

1 Ответ

1 голос
/ 18 июня 2020

Фреймворк tidymodels имеет более надежную и выразительную поддержку для типов задач, которые позволяет вам выполнять modelr, таких как создание повторных выборок данных, моделей трубопроводов и т. Д. c. Пакет является частью tidymodels с такими глаголами, как tidy() и glance(), важными частями подхода tidymodels к моделированию, а пакет rsample предоставляет инструменты для повторной выборки.

Возможно, вам будет интересно узнать, как использовать этот подход для bootstrap оценок параметров модели :

library(tidymodels)
#> ── Attaching packages ──────────────────────────── tidymodels 0.1.0 ──
#> ✓ broom     0.5.6          ✓ recipes   0.1.12    
#> ✓ dials     0.0.7          ✓ rsample   0.0.7     
#> ✓ dplyr     1.0.0          ✓ tibble    3.0.1     
#> ✓ ggplot2   3.3.1          ✓ tune      0.1.0     
#> ✓ infer     0.5.2          ✓ workflows 0.1.1.9000
#> ✓ parsnip   0.1.1.9000     ✓ yardstick 0.0.6.9000
#> ✓ purrr     0.3.4
#> ── Conflicts ─────────────────────────────── tidymodels_conflicts() ──
#> x purrr::discard() masks scales::discard()
#> x dplyr::filter()  masks stats::filter()
#> x dplyr::lag()     masks stats::lag()
#> x recipes::step()  masks stats::step()
library(tidyr)

set.seed(123)
boots <- bootstraps(mtcars, times = 1000, apparent = TRUE)

fit_spline <- function(split) {
  data <- analysis(split)
  smooth.spline(data$wt, data$mpg, df = 4)
}

boot_models <- boots %>% 
  mutate(spline = map(splits, fit_spline))

boot_models %>% 
  sample_n(200) %>% 
  mutate(aug = map(spline, augment)) %>% 
  unnest(aug) %>%
  ggplot(aes(x, y)) +
  geom_line(aes(y = .fitted, group = id), alpha = .2, col = "darkcyan") +
  geom_point()

Создано 18.06.2020 с помощью пакета REPEX (v0.3.0.9001)

Если вас интересует создание сеток параметров модели, ознакомьтесь с пакетом циферблатов .

...