Un notebook qui affiche un bon résultat ne raconte pas toujours comment il a été obtenu. Quelques semaines plus tard, un fichier a changé, une cellule a été exécutée dans un autre ordre et la comparaison devient impossible. Une expérience utile doit laisser suffisamment de traces pour être reprise et discutée.
Constituer une fiche d’expérience
Commencez par un dossier identifié, associé à une question précise. « Comparer deux méthodes de préparation sur le même découpage » est plus exploitable que « améliorer le modèle ».
| Élément | Trace à conserver |
|---|---|
| Données | Version ou empreinte du fichier, provenance, période |
| Code | Identifiant du commit et état des modifications locales |
| Environnement | Version de Python et versions des bibliothèques |
| Découpage | Identifiants des lignes et règles de séparation |
| Paramètres | Configuration complète et graines aléatoires |
| Résultats | Métriques, effectifs et observations sur les erreurs |
Cette fiche est une proposition d’organisation : elle peut tenir dans un fichier texte versionné. Aucun outil de suivi spécialisé n’est nécessaire pour commencer.
Séparer répétabilité et robustesse
Fixer les paramètres aléatoires aide à répéter une exécution dans un environnement donné. Cela ne démontre pas que la conclusion tient sur d’autres échantillons. Les bonnes pratiques de scikit-learn décrivent le rôle de random_state et ses effets sur les répétitions.
Une comparaison sérieuse conserve aussi les scores obtenus sur plusieurs partitions pertinentes. Présentez leur dispersion, sans la faire passer automatiquement pour un intervalle de confiance. Les modèles comparés doivent rencontrer les mêmes partitions pour que leurs différences soient interprétables.
Vérifier une reprise depuis zéro
Fermez la session de travail puis relancez le traitement dans l’ordre prévu, depuis les entrées documentées. Vérifiez les effectifs, les colonnes retenues et les résultats intermédiaires. Cette répétition révèle souvent une dépendance à une variable oubliée dans la mémoire du notebook.
Définissez ce qui doit être identique et ce qui peut varier. Une différence de dernière décimale ne se traite pas comme une disparition de lignes. Notez les tolérances retenues et leur raison.
Conserver davantage que le modèle
Le fichier du modèle ne remplace ni les données de référence, ni le code d’entraînement, ni les versions utilisées. La documentation sur la persistance des modèles recommande de conserver ces informations et indique que le chargement entre versions différentes de scikit-learn n’est pas pris en charge. Les formats fondés sur pickle doivent uniquement être chargés depuis une source de confiance.
Avant de partager une expérience, demandez à un collègue de retrouver le résultat à partir de la fiche. Les étapes qu’il doit vous demander sont précisément celles qui manquent encore à la documentation.
Pour poursuivre : choisir une métrique de classification et protéger son évaluation des fuites de données.