Как добавить больше прогнозов модели после использования collect_predictions ()? - PullRequest
0 голосов
/ 13 февраля 2019

Я использовал collect_predictions (), чтобы добавить несколько прогнозов в мой фрейм данных.Позже, возможно, после некоторых визуализаций, я хочу добавить предсказания новой модели.Кажется, я не могу понять, как это сделать.

Я пытался использовать add_predictions () и collect_predictions (), но они добавили совершенно новые столбцы, когда я просто хочу добавить дополнительные строки.

library(tidyverse)
library(modelr)

#The 3 original models
mdisp = lm(mpg ~ disp, mtcars) 
mcyl = lm(mpg ~ cyl, mtcars)
mhp = lm(mpg ~ hp, mtcars)

#I added them to the data frame.
mtcars_pred <- mtcars %>%
  gather_predictions(mdisp, mcyl, mhp)

#New model I want to add.
m_all <- lm(mpg ~ hp + cyl + disp, mtcars)

1 Ответ

0 голосов
/ 13 февраля 2019

Кажется, что есть два варианта.

1: реструктурируйте свой код так, чтобы gather_predictions() использовался в конце

library(tidyverse)
library(modelr)

#The 3 original models
   mdisp <- lm(mpg ~ disp, mtcars) 
   mcyl <- lm(mpg ~ cyl, mtcars)
   mhp <- lm(mpg ~ hp, mtcars)

# New model
   m_all <- lm(mpg ~ hp + cyl + disp, mtcars)

# Gather predictions for all four models at the same time
   mtcars_pred <- mtcars %>%
     gather_predictions(mdisp, mcyl, mhp, m_all)

2: используйте bind_rows() плюс еще один вызовдо gather_predictions()

library(tidyverse)
library(modelr)

#The 3 original models
  mdisp <- lm(mpg ~ disp, mtcars) 
  mcyl <- lm(mpg ~ cyl, mtcars)
  mhp <- lm(mpg ~ hp, mtcars)

# Get predictions from the first three models
  mtcars_pred <- mtcars %>%
    gather_predictions(mdisp, mcyl, mhp)

# New model
  m_all <- lm(mpg ~ hp + cyl + disp, mtcars)

# Get the new model's predictions and append them
  mtcars_pred <- bind_rows(mtcars_pred,
                           gather_predictions(data = mtcars,
                                              m_all))
...