Тестирование на новых данных
Ваша цель — сделать прогнозы покупок для новых магазинов на основе построенной модели. Проверить, насколько это осуществимо, позволяет функция predict(). Она извлекает оценки параметров модели train.model и применяет их для предсказания значений отклика в test.data. Чтобы получить предсказанные значения в шкале самой переменной отклика (то есть вероятности покупки), необходимо задать дополнительный аргумент type со значением "response".
Затем прогнозы на отложенной выборке классифицируются на покупки и отказы от покупки с помощью функции ifelse() и сравниваются с наблюдаемыми покупками с помощью функции table(). Наконец, функция prop.table() преобразует абсолютные числа в таблице в относительные.
Это упражнение является частью курса
Построение моделей отклика в R
Инструкции к упражнению
- Рассчитайте прогнозы для
test.data, применив функциюpredict()к объектуtrain.model. Задайте аргументtypeравным"response"и присвойте результат переменнойprobability. - Классифицируйте прогнозы модели: присвойте значение
1, еслиprobabilityпревышает0.5, и0в противном случае. Сохраните результат в объектpredicted. - Извлеките наблюдаемые данные о покупках
HOPPINESSизtest.dataи присвойте их объектуobserved. - Выполните перекрёстную табуляцию векторов
observedиpredictedс помощью функцийtable()иprop.table().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Predict the purchase probabilities for test.data
probability <- ___(___, ___, type = "response")
# Classify the predictions
predicted <- ___(probability >= ___, ___, ___)
# Obtain the observed purchases from test.data
observed <- test.data$HOPPINESS
# Cross-tabulate observed vs. predicted purchases
___(___(predicted, observed))