Inizia subitoInizia gratis

Gradient boosted trees: visualizzazione

Ora che hai le predizioni del modello, potresti chiederti: "sono valide?". Esistono molti grafici utili per diagnosticare l'accuratezza delle predizioni; qui ne vedrai due molto comuni. Per prima cosa, è utile disegnare uno scatterplot della risposta predetta rispetto a quella reale, per confrontarle. In secondo luogo, i residui dovrebbero essere approssimativamente distribuiti in modo normale, quindi è utile tracciare un grafico di densità dei residui. I grafici saranno simili a questi.

Scatterplot di risposta predetta vs. risposta reale e grafico di densità della distribuzione dei residui affiancati.

In questo esercizio imparerai a calcolare da solo i residui (risposte predette meno risposte reali) per le tue predizioni del modello.

Questo esercizio fa parte del corso

Introduzione a Spark con sparklyr in R

Visualizza corso

Istruzioni dell'esercizio

È stata predefinita una tibble locale responses, che contiene anni predetti e reali.

  • Disegna uno scatterplot di risposte predette vs. reali.
    • Chiama ggplot().
    • Il primo argomento è il dataset, responses.
    • Il secondo argomento deve contenere i nomi di colonna non quotati per gli assi x e y (actual e predicted rispettivamente), racchiusi in aes().
    • Aggiungi i punti con una chiamata a geom_point().
    • Rendi i punti parzialmente trasparenti impostando alpha = 0.1.
    • Aggiungi una retta di riferimento con una chiamata a geom_abline() con intercept = 0 e slope = 1.
  • Crea una tibble di residui, chiamata residuals.
    • Chiama transmute() su responses.
    • La nuova colonna deve chiamarsi residual.
    • residual deve essere uguale alla risposta predetta meno la risposta reale.
  • Disegna un grafico di densità dei residui.
    • Collega con la pipe la tibble trasformata a ggplot().
    • ggplot() richiede una singola estetica, residual racchiusa in aes().
    • Aggiungi la curva di densità chiamando geom_density().
    • Aggiungi una linea verticale di riferimento in corrispondenza dello zero chiamando geom_vline() con xintercept = 0.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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
    ___
Modifica ed esegui il codice