Я взвешиваю эффективность использования одной монолитной модели по сравнению с разбивкой на две разные модели (разделенная модель) на около 100 000 строк данных. Чтобы сделать это, я получаю результаты моей разделенной модели, как так:Эффективно использовать predict.glm с несколькими моделями
preds <- numeric(nrow(DF))
for (i in 1:nrow(DF))
{
if (DF[i,]$col == condition)
{
preds[i] <- predict(glm1, DF[i,])
}
else
{
preds[i] <- predict(glm2, DF[i,])
}
}
По какой-то причине, это, кажется, идет очень медленно, особенно по сравнению с просто получить пресс для всего кадра данных, например, так:
preds <- predict(glm1,DF)
Есть ли у вас идеи о том, как я могу оптимизировать первый фрагмент?
Я нисколько не удивлен, что это медленно. Кажется, вы можете получить это с помощью двух «предсказывающих» вызовов, используя подходящую пару аргументов «newdata». –
Как я уже упоминал в другом комментарии, мне нужно сохранить порядок таким же, как и в кадре данных, чтобы я мог делать такие вещи, как исследование ROC. – user1775655