НачатьНачать бесплатно

Деревья с градиентным бустингом: визуализация

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

Диаграмма рассеяния прогнозируемых значений относительно фактических и график плотности распределения остатков, расположенные рядом.

В этом упражнении вы научитесь самостоятельно вычислять остатки (прогнозируемые значения минус фактические) для предсказаний вашей модели.

Это упражнение является частью курса

Введение в 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
    ___
Редактировать и запускать код