Unité 6 / 11

Analyse de données chimiques et Python : pandas, stœchiométrie et étalonnage

Gains :

  • Capacité à baser les résultats numériques sur le code Python exécuté plutôt que sur une estimation verbale du modèle de langage
  • Capacité à écrire le code de stœchiométrie, d'étalonnage et de nettoyage des données sur l'intelligence artificielle et à le tester avec des échantillons avec des réponses connues
  • Possibilité d'éviter les erreurs d'analyse des données en spécifiant toujours les unités et en vérifiant leur ordre

La chimie regorge de chiffres : pesées, volumes, valeurs d'absorbance, rendements, concentrations. Le traitement manuel de ces données est lent et sujet aux erreurs. L'IA fournit ici deux services principaux : (1) écrit du code Python qui traite les données, (2) exécute ce code (dans un environnement qui peut exécuter le code) et donne un résultat déterministe. Le principe critique est le suivant : laisser le calcul à la sortie du code exécuté, et non à la « prédiction verbale » du modèle de langage. Modèle de langage « Qu'est-ce que 142 × 0,05 ? » peut parfois mal répondre à la question ; mais la ligne Python qu'il écrit calcule toujours correctement. Dans cette unité, nous apprendrons l'analyse de données chimiques avec l'IA avec cette philosophie.

Pourquoi le code est-il meilleur que la supposition verbale ?

Un modèle de langage fait de l'arithmétique en « prédisant le résultat possible » ; cela peut donc être erroné avec de grands nombres ou un calcul en plusieurs étapes. Alors qu'en Python l'expression 142 * 0.05 est déterministe : elle renvoie toujours 7.1. Alors stratégie : ne pas faire faire le calcul à l'IA, imprimer le CODE du calcul et exécuter le code. Vous utilisez donc la créativité de l'IA (construction du code) et désactivez le côté peu fiable (arithmétique de tête).

Astuce : lorsque vous obtenez un résultat numérique d'une IA, dites "représentez-le avec une ligne de Python". Le code lui-même vérifie le compte et vous permet de l'exécuter et de le confirmer. Si vous ne voyez pas de code, ne faites pas confiance au numéro.

Tâches typiques d'analyse de données en chimie

  • Stœchiométrie : mole, masse, réactif limitant, rendement théorique, calcul du rendement en pourcentage.
  • Concentration : molarité, dilution (M1V1 = M2V2), conversions ppm.
  • Calibrage : Tracer une droite de calibrage avec la loi de Beer-Lambert (absorbance ∝ concentration) et calculer l'inconnue.
  • Nettoyage des données : lecture de tableaux de mesures avec pandas, signalement des valeurs aberrantes, moyenne/écart type.
  • Visualisation : dessin de la courbe d'étalonnage, du graphique cinétique, de la courbe de titrage.

Étape par étape : analyse sécurisée des données avec l’IA

  1. Définir les données : indiquez clairement les colonnes, les unités et les exemples de lignes. S'il n'y a pas d'unité, l'IA fait des hypothèses.
  2. Demandez du code, pas des résultats : dites "Écrivez le code pandas/NumPy qui calcule cela".
  3. Exécutez le code : exécutez-le vous-même ou dans un environnement capable d'exécuter du code.
  4. Test avec un cas simple : testez le code avec un petit exemple dont vous connaissez la réponse.
  5. Vérification de l'unité et de l'ordre : l'unité et l'ampleur du résultat sont-elles physiquement raisonnables ?
  6. Document : Ajoutez le code et le résultat au cahier d'expérience (unité 8).

Quatre modèles copiables

1) Stoechiométrie et pourcentage de rendement :

Réaction : acide salicylique (MA 138.12) + anhydride acétique -> aspirine (MA 180.16).Données : 2,00 g d'acide salicylique ont été utilisés, l'anhydride acétique était en excès.Aspirine obtenue : 2,15 g.Tâche : Écrire du code Python qui calcule le rendement théorique et le pourcentage de rendement.Définir les poids moléculaires comme variables, imprimer le résultat en unités.Ne pas calculer en tête ; donnez simplement du code exécutable.

2) Étalonnage Beer-Lambert :

Données d'étalonnage (concentration mol/L -> absorbance) : 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Absorbance de l'échantillon inconnue : 0,50. Tâche : effectuez un étalonnage linéaire avec numpy.polyfit, pente/interception et calculez R^2, trouvez la concentration inconnue. Tracez la ligne données + ajustement avec matplotlib.

3) tableau de mesures avec des pandas :

J'ai un CSV : colonnes = échantillon, poids_g, volume_mL, absorbance. Tâche : lire avec des pandas, calculer la concentration (g/L) pour chaque échantillon, marquer les lignes avec une absorbance < 0 comme incorrectes, donner le code pour imprimer la moyenne et l'écart type des groupes. Précisez les unités avec une ligne de commentaire.

4) Vérification du compte de dilution :

Je souhaite préparer 100 ml de solution 0,05 M à partir d'une solution mère 0,5 M. Tâche : Écrivez la ligne Python qui calcule le volume de stock requis avec M1V1=M2V2. Imprimez le résultat en mL et vérifiez en commentaire qu'une dilution par 10 est attendue pour un contrôle logique.

Invite faible/Invite forte

Faible :

Quelle quantité d'aspirine provient de 2 grammes d'acide salicylique ?

L'IA donne un numéro depuis la tête ; S'il mémorise incorrectement les poids moléculaires, le résultat sera faussé et la manière dont il a été calculé ne sera pas visible.

Fort :

Supposons que l'acide salicylique MA = 138,12, l'aspirine MA = 180,16, la masse = 2,00 g, le rendement 100 %. Tâche : Écrire du code Python qui calcule la masse théorique de l'aspirine ; commentez chaque étape (mole -> mol -> masse), imprimez le résultat en g.

Différence : poids moléculaires donnés, code demandé, étapes commentées, unité précisée. Le résultat est à la fois précis et vérifiable.

Prédiction verbale, etc. code exécuté

Taille

Prédiction verbale du modèle de langage

Exécution Python

Précision arithmétique

Variable, une erreur peut survenir

Déterministe, certain

Auditabilité

Fausse couche (on ne sait pas exactement comment cela s'est produit)

Élevé (code visible)

répétabilité

faible

haut

Suivi des unités

faible

Peut être maintenu ouvert dans le code

Utilisation appropriée

Idée, structure du bâtiment

Résultat numérique final

mini-cas

Cas 1 — Erreur arithmétique verbale. Un étudiant demande à AI « 0,0145 mol × 180,16 g/mol ? il a demandé; "2,72 g", a indiqué l'IA. En fait, c'est 2,61 g. Lorsque l'étudiant a dit « montrez ceci en Python », YZ a écrit 0,0145 * 180,16 et le résultat est 2 612 ; La première réponse verbale était incorrecte. Leçon : privilégiez le code même pour des multiplications très simples.

Cas 2 — Vérification R² lors de l'étalonnage. Un utilisateur a fait effectuer un étalonnage Beer-Lambert ; Il s'avère que R² = 0,981. L'IA a dit "linéaire, fiable" mais le point à la concentration la plus élevée était en dessous de la ligne (saturation). Lorsque l'utilisateur a vu le graphique, il a déplacé le point le plus élevé hors de la plage linéaire, R² est passé à 0,999. Leçon : R² seul ne suffit pas ; voir résidus/intrigue.

Cas 3 — Confusion d’unités. Dans une analyse, il n'était pas clair si la concentration était en mg/L ou en g/L ; L'IA a supposé g/L et les résultats étaient 1000 fois faux. Ce problème a été corrigé lorsque l'utilisateur spécifiait explicitement l'unité de la colonne. Leçon : sous-évaluez toujours l'unité, en supposant que l'IA coûte cher.

Erreurs courantes

  • S'appuyer sur un numéro verbal. Demandez et exécutez toujours du code plutôt que de faire du calcul mental.
  • Sans préciser l'unité. Mélanger mg/L avec g/L, mL avec L, provoque une erreur de 1 000 fois.
  • Je ne teste pas le code. Application au big data sans test avec un petit exemple où la réponse est connue.
  • Considérant R² comme seul critère. Faire confiance aux points de non-linéarité sans les voir graphiquement.
  • Ignorez le réactif du testeur. Calcul du rendement théorique sans détermination du réactif limitant en stœchiométrie.
  • Étape importante d’effusion. Rapporter le résultat à 8 chiffres lorsque la mesure est à 3 chiffres significatifs.
Attention : même le code écrit par l'IA peut être défectueux (mauvais nom de colonne, mauvaise formule). L'exécution du code rend le résultat déterministe, mais vous devez confirmer avec un exemple connu que le code calcule correctement.

En résumé

  • Laissez les résultats numériques au code Python exécuté, et non à la supposition verbale du modèle de langage.
  • L'IA écrit rapidement du code pour la stœchiométrie, l'étalonnage, le nettoyage des données et la visualisation dans l'analyse des données chimiques.
  • Mettez toujours les unités en marche ; La confusion des unités est l’erreur la plus coûteuse.
  • Examinez les résidus et le graphique en plus de R² dans l'étalonnage.
  • Testez le code avec un exemple simple avec une réponse connue ; L'humain vérifie l'exactitude du code.

Tâche de candidature

Disposez d'un ensemble de données d'étalonnage ou de stœchiométrie (sinon, utilisez les données Beer-Lambert ci-dessus). Demandez à l'IA le code Python qui fait l'analyse (le code, pas le résultat). Exécutez le code ; puis testez-le avec un petit échantillon de réponses connues. Demandez verbalement à l’IA le même calcul et comparez les deux résultats : y a-t-il une différence ? Interprétez le tracé de R² et du résidu lors de l'étalonnage. Mettez le code, la sortie et le court commentaire dans un document.

liste de contrôle

  • [ ] J'obtiens les résultats numériques du code, pas de la supposition verbale.
  • [ ] J'indique clairement l'unité de chaque colonne de données.
  • [ ] Je teste le code avec un petit échantillon dont la réponse est connue.
  • [ ] J'effectue une analyse résiduelle/graphique à côté de R² en calibrage.
  • [ ] Je détermine le réactif limitant en stœchiométrie.
  • [ ] Je rapporte les résultats avec le chiffre significatif approprié.