ComenzarEmpieza gratis

Diseccionando el mejor modelo de duración de vuelo

Acabas de configurar un CrossValidator para encontrar buenos parámetros para el modelo de regresión lineal que predice la duración del vuelo.

El conducto del modelo tiene varias etapas (objetos de tipo StringIndexer, OneHotEncoder, VectorAssembler y LinearRegression), que funcionan en secuencia. Las etapas están disponibles como atributo stages en el objeto tubería. Se representan mediante una lista y las etapas se ejecutan en la secuencia en que aparecen en la lista.

Ahora vas a examinar más detenidamente el pipeline, dividir las etapas y utilizarlo para hacer predicciones sobre los datos de las pruebas.

Ya se han creado los siguientes objetos:

  • cv - un objeto entrenado CrossValidatorModel y
  • evaluator - un objeto RegressionEvaluator.

Los datos de los vuelos se han dividido aleatoriamente en flights_train y flights_test.

Este ejercicio forma parte del curso

Machine learning con PySpark

Ver curso

Instrucciones de ejercicio

  • Recupera el mejor modelo.
  • Mira las etapas en el mejor modelo.
  • Aísla la etapa de regresión lineal y extrae sus parámetros.
  • Utiliza el mejor modelo para generar predicciones sobre los datos de prueba y calcula el RMSE.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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 =", ____.____(____))
Editar y ejecutar código