Analyser le meilleur modèle de durée de vol
Vous venez de configurer un CrossValidator pour trouver de bons paramètres pour le modèle de régression linéaire qui prédit la durée des vols.
Le pipeline du modèle comporte plusieurs étapes (objets de type StringIndexer, OneHotEncoder, VectorAssembler et LinearRegression) exécutées en séquence. Les étapes sont accessibles via l'attribut stages de l'objet pipeline. Elles sont représentées par une liste, et elles s'exécutent dans l'ordre où elles apparaissent dans la liste.
Vous allez maintenant examiner le pipeline de plus près, séparer les étapes et l'utiliser pour faire des prédictions sur les données de test.
Les objets suivants ont déjà été créés :
cv— un objetCrossValidatorModelentraîné etevaluator— un objetRegressionEvaluator.
Les données de vols ont été séparées aléatoirement en flights_train et flights_test.
Cette activité fait partie du cours
Machine Learning avec PySpark
Instructions de l’exercice
- Récupérez le meilleur modèle.
- Examinez les étapes du meilleur modèle.
- Isolez l'étape de régression linéaire et extrayez ses paramètres.
- Utilisez le meilleur modèle pour générer des prédictions sur les données de test et calculez la RMSE.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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 =", ____.____(____))