Guide pratique pour accélérer la validation croiséeHow to speed up cross-validation

Le paramétrage hyperparamètre des modèles Apache SparkML prend beaucoup de temps, en fonction de la taille de la grille de paramètres.Hyperparameter tuning of Apache SparkML models takes a very long time, depending on the size of the parameter grid. Vous pouvez améliorer les performances de l’étape de validation croisée dans SparkML pour accélérer les choses :You can improve the performance of the cross-validation step in SparkML to speed things up:

  • Mettez en cache les données avant d’exécuter des transformations de fonctionnalités ou des étapes de modélisation, y compris la validation croisée.Cache the data before running any feature transformations or modeling steps, including cross-validation. Les processus qui font référence aux données plusieurs fois bénéficient d’un cache.Processes that refer to the data multiple times benefit from a cache. N’oubliez pas d’appeler une action sur DataFrame pour que le cache prenne effet.Remember to call an action on the DataFrame for the cache to take effect.
  • Augmentez le paramètre parallelism dans le CrossValidator , qui définit le nombre de threads à utiliser lors de l’exécution d’algorithmes parallèles.Increase the parallelism parameter inside the CrossValidator, which sets the number of threads to use when running parallel algorithms. La valeur par défaut est 1.The default setting is 1. Pour plus d’informations, consultez la documentation de CrossValidator .See the CrossValidator documentation for more information.
  • N’utilisez pas le pipeline comme estimateur à l’intérieur de la CrossValidator spécification.Don’t use the pipeline as the estimator inside the CrossValidator specification. Dans certains cas où les featurizers sont réglés avec le modèle, l’exécution de l’ensemble du pipeline dans le CrossValidator sens est justifiée.In some cases where the featurizers are being tuned along with the model, running the whole pipeline inside the CrossValidator makes sense. Toutefois, cela exécute le pipeline entier pour chaque combinaison de paramètres et chaque pliure.However, this executes the entire pipeline for every parameter combination and fold. Par conséquent, si seul le modèle est paramétré, définissez la spécification du modèle comme estimateur à l’intérieur de CrossValidator .Therefore, if only the model is being tuned, set the model specification as the estimator inside the CrossValidator.

Notes

CrossValidatorpeut être défini comme dernière étape dans le pipeline après featurizers.CrossValidator can be set as the final stage inside the pipeline after the featurizers. Le meilleur modèle identifié par CrossValidator est output.The best model identified by the CrossValidator is output.