IniziaInizia gratis

Analizzare il miglior modello per la durata dei voli

Hai appena configurato un CrossValidator per trovare buoni parametri per il modello di regressione lineare che predice la durata dei voli.

La pipeline del modello ha più stadi (oggetti di tipo StringIndexer, OneHotEncoder, VectorAssembler e LinearRegression), che operano in sequenza. Gli stadi sono disponibili come attributo stages dell'oggetto pipeline. Sono rappresentati da una lista e vengono eseguiti nell'ordine in cui compaiono nella lista.

Ora esaminerai più da vicino la pipeline, separerai gli stadi e la userai per fare previsioni sui dati di test.

Sono già stati creati i seguenti oggetti:

  • cv — un oggetto CrossValidatorModel addestrato e
  • evaluator — un oggetto RegressionEvaluator.

I dati dei voli sono stati divisi casualmente in flights_train e flights_test.

Questo esercizio fa parte del corso

Machine Learning con PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Recupera il modello migliore.
  • Osserva gli stadi nel modello migliore.
  • Isola lo stadio di regressione lineare ed estrai i suoi parametri.
  • Usa il modello migliore per generare previsioni sui dati di test e calcola l'RMSE.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Get the best model from cross validation
best_model = cv.____

# Look at the stages in the best model
print(best_model.____)

# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()

# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))
Modifica ed esegui il codice