CommencezCommencez gratuitement

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 objet CrossValidatorModel entraîné et
  • evaluator — un objet RegressionEvaluator.

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

Voir le cours

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