CommencerCommencer gratuitement

Validation croisée du pipeline de modèles de durée de vol

Le modèle à validation croisée que vous venez de construire était simple, utilisant uniquement km pour prédire duration.

L'aéroport d'origine est un autre facteur prédictif important de la durée des vols. Les vols mettent généralement plus de temps à décoller des aéroports très fréquentés. Voyons si l'ajout de ce prédicteur améliore le modèle !

Dans cet exercice, vous ajouterez le champ org au modèle. Cependant, comme org est catégorique, il y a plus de travail à faire avant de pouvoir l'inclure : il doit d'abord être transformé en indice, puis codé à un chiffre avant d'être assemblé avec km et utilisé pour construire le modèle de régression. Nous allons regrouper ces opérations dans un pipeline.

Les objets suivants ont déjà été créés :

  • params - une grille de paramètres vide
  • evaluator - un évaluateur de régression
  • regression - un objet LinearRegression avec labelCol='duration'.

Les classes StringIndexer, OneHotEncoder, VectorAssembler et CrossValidator ont déjà été importées.

Cet exercice fait partie du cours

Apprentissage automatique avec PySpark

Afficher le cours

Instructions

  • Créez un indexeur de chaînes de caractères. Spécifiez les champs d'entrée et de sortie comme org et org_idx.
  • Créez un codeur à un coup. Nommez le champ de sortie org_dummy.
  • Rassemblez les champs km et org_dummy en un seul champ appelé features.
  • Créez un pipeline à l'aide des opérations suivantes : indexeur de chaînes, codeur à un point, assembleur et régression linéaire. Utilisez-le pour créer un validateur croisé.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Create an indexer for the org field
indexer = ____(____, ____)

# Create an one-hot encoder for the indexed org field
onehot = ____(____, ____)

# Assemble the km and one-hot encoded fields
assembler = ____(____, ____)

# Create a pipeline and cross-validator.
pipeline = ____(stages=[____, ____, ____, ____])
cv = ____(estimator=____,
          estimatorParamMaps=____,
          evaluator=____)
Modifier et exécuter le code