Analyse du modèle de durée de vol le plus performant
Vous venez de configurer un modèle de régression linéaire ( CrossValidator
) afin de déterminer les paramètres adéquats pour le modèle de régression linéaire prédisant la durée des vols.
Le pipeline du modèle comporte plusieurs étapes (objets de type StringIndexer
, OneHotEncoder
, VectorAssembler
et LinearRegression
), qui s'exécutent dans l'ordre. Les étapes sont disponibles en tant qu'attribut « stages
» sur l'objet pipeline. Ils sont représentés par une liste et les étapes sont exécutées dans l'ordre dans lequel elles apparaissent dans la liste.
Vous allez maintenant examiner de plus près le pipeline, le diviser en étapes et l'utiliser pour établir des prévisions sur les données de test.
Les objets suivants ont déjà été créés :
cv
— un objet d'CrossValidatorModel
formé etevaluator
— un objet d'RegressionEvaluator
.
Les données relatives aux vols ont été réparties de manière aléatoire entre flights_train
et flights_test
.
Cet exercice fait partie du cours
Apprentissage automatique avec PySpark
Instructions
- Récupérez le meilleur modèle.
- Veuillez examiner les étapes du modèle optimal.
- Isolez l'étape de régression linéaire et extrayez ses paramètres.
- Veuillez utiliser le modèle le plus performant pour générer des prédictions sur les données de test et calculer l'erreur quadratique moyenne (RMSE).
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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 =", ____.____(____))