La validation croisée à k plis standard répartit les lignes au hasard en k parties, entraîne sur k moins une et valide sur le pli mis de côté, puis fait la moyenne. Sur une série temporelle, c'est invalide, parce que des découpages aléatoires laissent le modèle s'entraîner sur le futur pour prédire le passé. Utilisez plutôt un chaînage avant : entraînez sur tout jusqu'à l'instant t, validez sur la fenêtre suivante, avancez, et laissez un espace si vos variables utilisent des fenêtres glissantes.
Pourquoi les recruteurs posent cette question
La fuite par le temps est l'une des raisons les plus courantes pour lesquelles un modèle brille hors ligne et meurt en production, donc les recruteurs s'en servent pour voir si vous pensez à la façon dont le modèle sera réellement utilisé. Ils écoutent aussi le découpage par groupes quand les lignes ne sont pas indépendantes, par exemple plusieurs lignes par client, et si vous ajustez le prétraitement à l'intérieur du pli plutôt que sur le jeu de données entier.
Comment structurer votre réponse
- Décrivez la validation croisée à k plis classique en une phrase.
- Expliquez pourquoi les découpages aléatoires fuient quand le temps compte.
- Décrivez le chaînage avant et l'espace entre entraînement et validation.
- Ajoutez les découpages par groupes pour les entités répétées et le prétraitement au niveau du pli.
Exemple de réponse
La validation croisée à k plis normale mélange les lignes en plis et fait tourner celui qu'on met de côté. C'est très bien quand les lignes sont indépendantes, et ça s'effondre dès qu'elles ne le sont plus. Sur une série temporelle j'utilise le chaînage avant : entraîner sur les mois un à six, valider sur le sept, puis entraîner jusqu'au sept et valider sur le huit, et ainsi de suite. La validation se situe toujours après la fenêtre d'entraînement, ce qui correspond à la façon dont le modèle est utilisé. Je laisse aussi un espace quand mes variables utilisent des fenêtres glissantes, parce qu'une moyenne mobile sur trente jours calculée juste à la frontière contient discrètement de l'information de la période de validation. L'autre piège, ce sont les entités répétées. Si un client a quarante lignes et qu'elles atterrissent à la fois en entraînement et en validation, le modèle peut mémoriser ce client et le score est gonflé, donc je groupe par identifiant client. Et j'ajuste les scalers et les encodeurs à l'intérieur de chaque pli, jamais d'abord sur le jeu complet, parce qu'ajuster sur tout fait fuir la distribution de validation dans l'entraînement. Rien que ça m'a expliqué quelques points d'écart entre le hors ligne et le réel.
Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.
Voir comment ça marcheQuestions de relance à prévoir
- Combien de plis utilisez-vous, et pourquoi ?
- Qu'est-ce que la validation croisée imbriquée et quand en avez-vous besoin ?
- Comment valideriez-vous un modèle qui prédit un événement rare survenant quelques fois par an ?
Autres questions pour Data Scientist
Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.
Prédire mes questions