Inizia subitoInizia gratis

Gradient boosted trees: predizione

Una volta eseguito il tuo modello, il passo successivo è usarlo per fare predizioni. A differenza del base R, che usa la funzione predict() per fare previsioni, sparklyr usa la funzione ml_predict(). ml_predict() accetta due argomenti: un modello e dei dati di test.

ml_predict(a_model, testing_data)

Un caso d’uso comune è confrontare le risposte predette con quelle reali, che puoi poi rappresentare in R. Il pattern di codice per preparare questi dati è il seguente. Nota che al momento l’aggiunta di una colonna di predizione va fatta in locale, quindi devi prima raccogliere i risultati.

predicted_vs_actual <- testing_data %>%
  select(actual) %>%
  collect() %>%
  mutate(predicted)

Questo esercizio fa parte del corso

Introduzione a Spark con sparklyr in R

Visualizza corso

Istruzioni dell'esercizio

È stata creata per te una connessione Spark come spark_conn. Le tibbles collegate ai dataset di training e di test archiviati in Spark sono già definite rispettivamente come track_data_to_model_tbl e track_data_to_predict_tbl. Il modello di gradient boosted trees è stato predefinito come gradient_boosted_trees_model.

  • Definisci una variabile predicted che contenga le predizioni del modello per i dati di test.
    • Chiama ml_predict() passando il modello e i dati di test come argomenti. Questa funzione genererà le predizioni per il dataset di test e le aggiungerà come nuova colonna chiamata prediction.
    • Usando pull(), possiamo estrarre questa colonna e assegnarla a predicted.
  • Definisci la variabile responses per preparare i dati al confronto tra risposte predette e reali:
    • Seleziona la colonna di risposta year.
    • Raccogli i risultati.
    • Usa mutate() per aggiungere le predizioni contenute in predicted.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Training, testing sets & model are pre-defined
track_data_to_model_tbl
track_data_to_predict_tbl
gradient_boosted_trees_model

# Predict the responses for the testing data
predicted <- ___(
      ___,
      ___) %>% pull(prediction)

# Prepare the data for comparing predicted responses with actual responses
responses <- track_data_to_predict_tbl %>%
  # Select the response column
  ___ %>%
  # Collect the results
  ___ %>%
  # Add in the predictions
  mutate(___)
Modifica ed esegui il codice