Validation croisée d'un modèle simple de durée de vol
Vous avez déjà construit quelques modèles pour prédire la durée des vols et vous les avez évalués avec une simple séparation entraînement/test. Toutefois, la validation croisée offre une bien meilleure façon d'évaluer la performance d'un modèle.
Dans cet exercice, vous allez entraîner un modèle simple de durée de vol à l'aide de la validation croisée. Le temps de déplacement est généralement fortement corrélé à la distance, donc utiliser uniquement la colonne km devrait donner un modèle raisonnable.
Les données ont été réparties aléatoirement en flights_train et flights_test.
Les classes suivantes ont déjà été importées : LinearRegression, RegressionEvaluator, ParamGridBuilder et CrossValidator.
Cette activité fait partie du cours
Machine Learning avec PySpark
Instructions de l’exercice
- Créez une grille de paramètres vide.
- Créez des objets pour construire et évaluer un modèle de régression linéaire. Le modèle doit prédire le champ « duration ».
- Créez un objet de validation croisée. Fournissez des valeurs pour les arguments
estimator,estimatorParamMapsetevaluator. Choisissez une validation croisée à 5 plis. - Entraînez et testez le modèle sur plusieurs plis des données d'entraînement.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create an empty parameter grid
params = ____().____()
# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)
# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)
# Train and test model on multiple folds of the training data
cv = cv.____(____)
# NOTE: Since cross-valdiation builds multiple models, the fit() method can take a little while to complete.