Как обучить модели на нескольких подмножествах данных и объединить их для прогнозирования в тесте - PullRequest
0 голосов
/ 04 октября 2019

Я хочу обучить несколько моделей (один и тот же алгоритм / одни и те же предикторы), но на разных подмножествах данных. Затем я хочу объединить эти модели, чтобы создать одну модель , которую я затем смогу использовать для прогнозирования новых невидимых данных. Любые указатели или идеи о том, как это сделать?

Этот выглядит как похожая проблема, но в этом случае OP хотел тренироваться на подмножестве X и предсказывать также на том же подмножестве X втестовый набор данных.

  • Я мог бы усреднить перехваты и коэффициенты, но не думаю, что это был бы правильный подход!
  • Вероятно, слияние - это еще один вариант, который (afaik) усредняет прогнозы, но яищу (что-то вроде) усреднение моделей

#Split mtcars into train and test
index <- sample(1:nrow(mtcars),0.2*nrow(mtcars))
train <- mtcars[-index,]
test <- mtcars[index,]

#create n models on different subsets of train (same predictors)
models <- list()
for(i  in 1:10){
  models[[i]] <- lm(mpg ~ hp, data = dplyr::sample_n(train,10))
}

summary(models[[1]])

#R-squared of different models
sapply(models, function(x) summary(x)$r.squared)

#mean R-squared of all the models
mean(sapply(models, function(x) summary(x)$r.squared))


#I am looking for something like this :
#pred <- predict(combined_model, newdata = test[,-1])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...