Деревья с градиентным бустингом: визуализация
Теперь, когда у вас есть прогнозы модели, возникает закономерный вопрос: «А насколько они точны?». Существует множество графиков для диагностики качества прогнозов. В этом упражнении вы рассмотрите два наиболее распространённых. Во-первых, полезно построить диаграмму рассеяния прогнозируемых значений относительно фактических, чтобы сравнить их. Во-вторых, остатки должны быть близки к нормальному распределению, поэтому имеет смысл построить график плотности остатков. Результат должен выглядеть примерно так.

В этом упражнении вы научитесь самостоятельно вычислять остатки (прогнозируемые значения минус фактические) для предсказаний вашей модели.
Это упражнение является частью курса
Введение в Spark с sparklyr на R
Инструкции к упражнению
Локальный тиббл responses, содержащий прогнозируемые и фактические годы, уже определён заранее.
- Постройте диаграмму рассеяния прогнозируемых значений относительно фактических.
- Вызовите
ggplot(). - Первый аргумент — набор данных
responses. - Второй аргумент должен содержать имена столбцов для осей x и y без кавычек (
actualиpredictedсоответственно), обёрнутые вaes(). - Добавьте точки, вызвав
geom_point(). - Сделайте точки частично прозрачными, задав
alpha = 0.1. - Добавьте опорную линию, вызвав
geom_abline()с параметрамиintercept = 0иslope = 1.
- Вызовите
- Создайте тиббл остатков с именем
residuals.- Вызовите
transmute()дляresponses. - Новый столбец должен называться
residual. residualдолжен быть равен прогнозируемому значению минус фактическое.
- Вызовите
- Постройте график плотности остатков.
- Передайте полученный тиббл в
ggplot()через пайп. ggplot()требует единственный эстетический параметр:residual, обёрнутый вaes().- Добавьте кривую плотности вероятности, вызвав
geom_density(). - Добавьте вертикальную опорную линию через ноль, вызвав
geom_vline()с параметромxintercept = 0.
- Передайте полученный тиббл в
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# responses has been pre-defined
responses
# Draw a scatterplot of predicted vs. actual
ggplot(___, aes(___, ___)) +
# Add the points
___ +
# Add a line at actual = predicted
___
residuals <- responses %>%
# Transmute response data to residuals
___
# Draw a density plot of residuals
ggplot(___, aes(___)) +
# Add a density curve
___ +
# Add a vertical line through zero
___