Retour au blog

Notebook interactif d'analyse de données : le code fourni par quelqu'un d'autre ne s'exécute pas, je vérifie cellule par

Un collaborateur m'envoie le code en disant « exécute-le et tu auras le résultat ». Je l'ai fait tourner pendant deux heures, avec quatre erreurs signalées. Finalement, je l'ai découpé cellule par cellule, et c'est seulement ainsi que j'ai trouvé où se situait le problème. Aujourd'hui, ma méthode es

codeagent intelligentcorrection d'erreurs

Un collaborateur m’a envoyé du code en disant"il suffit de l’exécuter pour obtenir un résultat". Je l’ai exécuté pendant deux heures et j’ai eu quatre erreurs. Finalement, je l’ai décomposé cellule par cellule pour trouver d’où venait le problème.

Ma méthode actuelle : quand je reçois le code de quelqu’un d’autre, je le décompose d’abord en cellules, puis je localise le problème cellule par cellule. Je l’exécute dans MuchSci , le carnet d’analyse de données interactif de la suite d’outils scientifiques.

Après la décomposition en cellules, les erreurs se répartissent en quatre catégories

Première catégorie : des paquets manquent dans l’environnement. La première cellule ne fait qu’une chose : exécuter un import de toutes les bibliothèques à utiliser et repérer celles qui passent en rouge. J’installe ce qui manque, je vois tout d’un coup, sans attendre d’être à mi-parcours pour m’en apercevoir.

Deuxième catégorie : les chemins ne fonctionnent pas. La deuxième cellule lit les données et affiche immédiatement le nombre de lignes et de colonnes ainsi que les premières lignes. Dans le code d’un autre, le chemin correspond à l’emplacement sur son ordinateur ; je dois obligatoirement le modifier à cette étape.

Troisième catégorie : les noms de colonnes ne correspondent pas. La troisième cellule vérifie les noms de colonnes : j’affiche les vrais noms de colonnes des données et je les compare à ceux utilisés dans le code.

C’est la catégorie la plus difficile à détecter, car avec une lettre erronée dans un nom de colonne, certaines bibliothèques ne signalent aucune erreur et produisent silencieusement un résultat faux. Mon habitude actuelle : pour tout résultat calculé, je regarde d’abord une ligne de valeurs brutes avant de continuer. C’est là tout l’intérêt du carnet d’analyse de données interactif—le résultat de chaque cellule reste dans le carnet, et je peux remonter cellule par cellule pour voir à quelle étape cela a commencé à ne plus être correct.

Quatrième catégorie : les différences de version. Certaines fonctions ont des paramètres par défaut différents selon la version. J’écris explicitement les paramètres des fonctions clés, sans utiliser les valeurs par défaut.

Une fois les quatre catégories vérifiées, je réécris le code pour qu’il devienne le mien

Je n’utilise pas directement le code de quelqu’un d’autre ; je le réorganise en quatre sections dans le carnet d’analyse de données interactif :

  1. Lecture (le fichier d’origine n’est pas modifié)
  2. Nettoyage (une cellule distincte par action)
  3. Calcul (les paramètres sont écrits dans la cellule)
  4. Graphiques et export (les graphiques et les valeurs sont produits ensemble)

Après réorganisation, ce code devient mon propre flux d’analyse. La prochaine fois que je change de jeu de données, je ne modifie que la cellule de lecture.

J’utilise cette méthode de décomposition en cellules dans trois situations

  • Reprendre les données de quelqu’un d’autre : je décompose d’abord en cellules et je fais tourner l’ensemble, puis je parle des conclusions.
  • Reproduire les résultats d’un article : je réorganise en quatre sections selon la partie méthode de l’article ; en cas d’écart, je cherche la différence cellule par cellule.
  • Faire vérifier ma propre analyse par quelqu’un d’autre : je donne directement tout le carnet, l’autre personne n’a pas besoin de m’écouter expliquer les opérations intermédiaires.

Les trois fonctionnalités associées

  • Le flux et les résultats du carnet sont archivés dans la base de connaissances personnelle de MuchSci , que je consulte directement lors de la rédaction de la partie méthode.
  • Pour les références à citer dans la partie méthode, j’utilise l’assistant de recherche d’articles de MuchSci pour vérifier DOI et les informations de citation.
  • Pour les descriptions méthodologiques originales en langue étrangère, j’utilise la traduction d’articles de MuchSci pour une lecture comparative.
  • Pour le document explicatif final, j’utilise l’agent d’assistance bureautique de MuchSci pour le mettre en forme dans un fichier éditable.

De"code fourni par quelqu’un d’autre"à"mon propre flux de travail", tout repose sur cette méthode de décomposition en cellules.Avec MuchSci, le carnet d’analyse de données interactif assure la traçabilité,avec MuchSci, la base de connaissances personnelle assure l’archivage,avec MuchSci, l’assistant de recherche d’articles,avec MuchSci, la traduction d’articles et avec MuchSci, l’agent d’assistance bureautique assurent la finalisation.

Une erreur signalée n’est pas effrayante ; ce qui est effrayant, c’est un calcul faux et silencieux. C’est aussi la première règle que j’applique aujourd’hui lorsque j’utilise un assistant IA pour étudiants de troisième cycle afin de travailler sur des données : chaque étape doit pouvoir être réexaminée.

Retour aux articles