Построение модели пошаговой регрессии
При отсутствии экспертных знаний в предметной области пошаговая регрессия помогает найти наиболее важные предикторы интересующего результата.
В этом упражнении вы будете использовать метод прямого пошагового отбора, чтобы добавлять предикторы в модель один за другим — до тех пор, пока их добавление перестанёт давать прирост качества. Набор данных donors уже загружен.
Это упражнение является частью курса
Обучение с учителем в R: классификация
Инструкции к упражнению
- С помощью формульного интерфейса R и функции
glm()задайте базовую модель без предикторов. Установите значение объясняющей переменной равным1. - Снова используйте формульный интерфейс R с функцией
glm(), чтобы задать модель со всеми предикторами. - Примените функцию
step()к этим моделям для выполнения прямой пошаговой регрессии. Передайте в качестве первого аргументаnull_modelи установитеdirection = "forward". Процесс может занять некоторое время (до 10–15 секунд), так как компьютеру потребуется обучить несколько различных моделей для пошагового отбора. - Создайте вектор предсказанных вероятностей с помощью функции
predict(). - Постройте ROC-кривую с помощью функций
roc()иplot(), а затем вычислите AUC пошаговой модели с помощью функцииauc().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Specify a null model with no predictors
null_model <- ___(___, data = ___, family = "___")
# Specify the full model using all of the potential predictors
full_model <- ___
# Use a forward stepwise algorithm to build a parsimonious model
step_model <- step(___, scope = list(lower = null_model, upper = full_model), direction = "___")
# Estimate the stepwise donation probability
step_prob <- ___
# Plot the ROC of the stepwise model
library(pROC)
ROC <- ___
plot(___, col = "red")
auc(___)