Прогнозування на тестовій вибірці
Тепер, коли ви випадково поділили дані на тренувальну та тестову вибірки, можна використати функцію lm(), як у першій вправі, щоб навчити модель на тренувальній вибірці, а не на всьому наборі даних. Нагадаємо, що інтерфейс формул у функції лінійної регресії дає змогу навчити модель для заданої цільової змінної, використавши всі інші змінні в наборі даних як предиктори:
mod <- lm(y ~ ., training_data)
Ви можете використати функцію predict(), щоб отримати прогнози цієї моделі на нових даних. Новий набір даних має містити всі стовпці з тренувальних даних, але їхній порядок і значення можуть відрізнятися. Тут, замість повторного прогнозування на тренувальній вибірці, спрогнозуйте на тестовій вибірці, яку ви не використовували для навчання моделі. Це дасть змогу в наступній вправі визначити позавибіркову похибку моделі:
p <- predict(model, new_data)
Ця вправа є частиною курсу
Machine Learning з пакетом caret в R
Інструкції до вправи
- Навчіть модель
lm()під назвоюmodelдля прогнозуванняprice, використавши всі інші змінні як коваріати. Обов'язково використайте тренувальну вибіркуtrain. - Зробіть прогноз для тестової вибірки
testза допомогоюpredict(). Збережіть ці значення у векторіp.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Fit lm model on train: model
# Predict on test: p