CommencerCommencer gratuitement

Disséquer le meilleur modèle de durée de vol

Vous venez de mettre en place un site CrossValidator afin de trouver de bons paramètres 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 fonctionnent en séquence. Les étapes sont disponibles en tant qu'attribut stages sur l'objet pipeline. Elles sont représentées 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, diviser 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 objet formé CrossValidatorModel et
  • evaluator - un objet 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

Afficher le cours

Instructions

  • 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 le 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 =", ____.____(____))
Modifier et exécuter le code