Я хочу обучить несколько моделей (один и тот же алгоритм / одни и те же предикторы), но на разных подмножествах данных. Затем я хочу объединить эти модели, чтобы создать одну модель , которую я затем смогу использовать для прогнозирования новых невидимых данных. Любые указатели или идеи о том, как это сделать?
Этот выглядит как похожая проблема, но в этом случае 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])