Análisis del mejor modelo de duración de vuelos
Acabas de configurar un CrossValidator
para encontrar buenos parámetros para el modelo de regresión lineal que predice la duración de los vuelos.
El modelo de canalización tiene varias etapas (objetos de tipo StringIndexer
, OneHotEncoder
, VectorAssembler
y LinearRegression
), que operan en secuencia. Las etapas están disponibles como el atributo « stages
» en el objeto de canalización. Se representan mediante una lista y las etapas se ejecutan en el orden en que aparecen en la lista.
Ahora vas a examinar más detenidamente el proceso, dividirlo en etapas y utilizarlo para hacer predicciones sobre los datos de prueba.
Ya se han creado los siguientes objetos:
cv
— un objeto eCrossValidatorModel
e entrenado yevaluator
— 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
Instrucciones del ejercicio
- Recupera el mejor modelo.
- Observa las etapas del 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 calcular el RMSE.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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 =", ____.____(____))