Dobici:
- Sposobnost baziranja numeričkih rezultata na izvršenom Python kodu umjesto na verbalnom pogađanju jezičnog modela
- Sposobnost pisanja koda za stehiometriju, kalibraciju i čišćenje podataka za umjetnu inteligenciju i testiranje s uzorcima s poznatim odgovorima
- Sposobnost sprječavanja pogrešaka u analizi podataka uvijek navodeći jedinice i provjeravajući njihov redoslijed
Kemija je puna brojeva: vaganja, volumena, vrijednosti apsorbancije, prinosa, koncentracija. Ručna obrada ovih podataka spora je i podložna pogreškama. AI ovdje pruža dvije glavne usluge: (1) piše Python kod koji obrađuje podatke, (2) pokreće taj kod (u okruženju koje može pokrenuti kod) i daje deterministički rezultat. Kritično načelo je sljedeće: prepustite izračun izlazu izvršenog koda, a ne "verbalnom predviđanju" jezičnog modela. Jezični model "Što je 142 × 0,05?" može ponekad netočno odgovoriti na pitanje; ali Python linija koju piše uvijek ispravno izračunava. U ovoj jedinici naučit ćemo analizu kemijskih podataka pomoću umjetne inteligencije s ovom filozofijom.
Zašto je kod bolji od verbalnog pogađanja?
Jezični model izvodi aritmetiku "predviđanjem mogućeg ishoda"; tako da može biti pogrešan s velikim brojevima ili računom u više koraka. Dok je u Pythonu izraz 142 * 0,05 deterministički: uvijek vraća 7,1. Dakle, strategija: ne tjerajte umjetnu inteligenciju da napravi izračun, ispišite KOD izračuna i pokrenite kod. Dakle, koristite kreativnost AI (izrada koda) i onemogućujete nepouzdanu stranu (aritmetika glave).
Savjet: kada dobijete numerički rezultat od umjetne inteligencije, recite "predstavi ovo linijom Pythona." Sam kod provjerava račun i omogućuje vam da ga pokrenete i potvrdite. Ako ne vidite kod, ne vjerujte broju.
Tipični zadaci analize podataka u kemiji
- Stehiometrija: mol, masa, ograničavajući reagens, teoretski prinos, izračun postotka prinosa.
- Koncentracija: molaritet, razrjeđenje (M1V1 = M2V2), pretvorbe ppm.
- Kalibracija: Crtanje kalibracijske linije s Beer-Lambertovim zakonom (apsorbancija ∝ koncentracija) i izračunavanje nepoznanice.
- Čišćenje podataka: čitanje mjernih tablica s pandama, označavanje izvanrednih vrijednosti, srednja vrijednost/standardna devijacija.
- Vizualizacija: crtanje kalibracijske krivulje, kinetičkog grafa, titracijske krivulje.
Korak po korak: Sigurna analiza podataka pomoću umjetne inteligencije
- Definirajte podatke: Jasno navedite stupce, jedinice, ogledne retke. Ako nema jedinice, AI donosi pretpostavke.
- Tražite kod, a ne rezultate: recite "Napišite pandas/NumPy kod koji ovo izračunava".
- Pokrenite kôd: Pokrenite ga sami ili u okruženju koje može pokrenuti kôd.
- Test s jednostavnim slučajem: Testirajte kod s malim primjerom u kojem znate odgovor.
- Provjera jedinice i redoslijeda: Jesu li jedinica i veličina rezultata fizički razumni?
- Dokument: Dodajte kod i izlaz u bilježnicu za eksperiment (jedinica 8).
Četiri predloška za kopiranje
1) Stehiometrija i postotak prinosa:
Reakcija: salicilna kiselina (MA 138.12) + anhidrid octene kiseline -> aspirin (MA 180.16). Podatak: Upotrijebljeno je 2,00 g salicilne kiseline, anhidrid octene kiseline u višku. Dobiveno aspirina: 2,15 g. Zadatak: Napisati Python kod koji izračunava teoretski prinos i postotak prinosa. Definirajte molekulske mase kao varijable, ispišite rezultat u jedinicama. Ne računajte u glavi; samo dajte izvršni kod.
2) Beer-Lambertova kalibracija:
Podaci o kalibraciji (koncentracija mol/L -> apsorbancija): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Apsorpcija nepoznatog uzorka: 0,50. Zadatak: Izvedite linearnu kalibraciju s numpy.polyfit, nagibom/odsječkom i izračunajte R^2, pronađite nepoznatu koncentraciju. Iscrtajte liniju podataka + fit s matplotlib.
3) mjerna tablica s pandama:
Imam CSV: stupci = uzorak, težina_g, volumen_mL, apsorbancija. Zadatak: čitati s pandama, izračunati koncentraciju (g/L) za svaki uzorak, označiti retke s apsorbancijom < 0 kao netočne, dati kod za ispis srednje vrijednosti i standardne devijacije grupa. Navedite jedinice s komentarom.
4) Provjera računa za razrjeđivanje:
Želim pripremiti 100 mL 0,05 M otopine iz 0,5 M osnovne otopine. Zadatak: Napišite Python redak koji izračunava potrebni volumen zaliha s M1V1=M2V2. Ispišite rezultat u mL i potvrdite kao komentar da se očekuje deseterostruko razrjeđenje za logičku provjeru.
Slab upit / Jak upit
Slabo:
Koliko aspirina dolazi od 2 grama salicilne kiseline?
AI daje broj iz glave; Ako netočno zapamti molekularne težine, rezultat će biti iskrivljen i neće biti vidljiv način na koji je izračunat.
Jako:
Pretpostavimo salicilnu kiselinu MA=138,12, aspirin MA=180,16, masu=2,00 g, iskorištenje 100%. Zadatak: Napisati Python kod koji izračunava teoretsku masu aspirina; komentirajte svaki korak (mol -> mol -> masa), ispišite rezultat u g.
Razlika: dane molekularne težine, zatražen kod, komentirani koraci, navedena jedinica. Rezultat je i točan i revizijski.
Verbalno predviđanje itd. izvršeni kod
Veličina
Verbalna predikcija jezičnog modela
Pokretanje Pythona
Aritmetička točnost
Varijabilno, može doći do pogreške
Određen, siguran
Mogućnost revizije
Pobačaj (nije jasno kako je nastao)
Visoko (vidljiv kod)
ponovljivost
nizak
visoka
Praćenje jedinica
slabi
Može se držati otvorenim u kodu
Ispravna uporaba
Ideja, konstrukcija zgrade
Konačni numerički rezultat
mini kućišta
Slučaj 1 — Verbalna aritmetička pogreška. Student pita AI "0,0145 mol × 180,16 g/mol?" upitao je; "2,72 g", rekao je AI. Zapravo je 2,61g. Kada je student rekao "pokaži ovo u Pythonu", YZ je napisao 0,0145 * 180,16 i ispalo je kao 2,612; Prvi usmeni odgovor bio je netočan. Lekcija: dajte prednost kodu čak i za vrlo jednostavno množenje.
Slučaj 2 — R² provjera kalibracije. Jedan je korisnik napravio Beer-Lambert kalibraciju; Ispada da je R² = 0,981. AI je rekao "linearno, pouzdano", ali točka najveće koncentracije bila je ispod crte (zasićenje). Kada je korisnik vidio grafikon, pomaknuo je najvišu točku izvan linearnog raspona, R² je porastao na 0,999. Lekcija: samo R² nije dovoljno; vidjeti ostatke/zaplet.
Slučaj 3 — Zabuna jedinica. U jednoj analizi nije bilo jasno je li koncentracija mg/L ili g/L; AI je pretpostavio g/L i rezultati su bili 1000 puta pogrešni. To je popravljeno kada je korisnik eksplicitno odredio jedinicu stupca. Lekcija: uvijek zamijenite jedinicu, pod pretpostavkom da je AI skupa.
Uobičajene greške
- Oslanjanje na verbalni broj. Uvijek zahtijevajte i pokrenite kod umjesto da radite mentalnu aritmetiku.
- Ne navodi se jedinica. Miješanje mg/L s g/L, mL s L uzrokuje 1000-struku pogrešku.
- Ne testira se kod. Primjena na big data bez testiranja s malim primjerom gdje se odgovor zna.
- Uzimajući u obzir R² kao jedini kriterij. Vjerovati točkama nelinearnosti bez da ih vidite grafički.
- Preskočite reagens za ispitivanje. Izračunavanje teorijskog prinosa bez određivanja ograničavajućeg reagensa u stehiometriji.
- Značajan korak izljev. Izvještavanje o rezultatu do 8 znamenki kada je mjerenje 3 značajne znamenke.
Oprez: čak i kod koji AI piše može biti pogrešan (pogrešan naziv stupca, pogrešna formula). Pokretanje koda čini rezultat determinističkim, ali morate potvrditi poznatim primjerom da kod izračunava pravu stvar.
Ukratko
- Ostavite numeričke rezultate izvršenom Python kodu, a ne verbalnom pogađanju jezičnog modela.
- AI brzo piše kod za stehiometriju, kalibraciju, čišćenje podataka i vizualizaciju u analizi kemijskih podataka.
- Uvijek stavljajte jedinice; Zabuna jedinica je najskuplja greška.
- Ispitajte reziduale i grafikon uz R² u kalibraciji.
- Testirajte kôd jednostavnim primjerom s poznatim odgovorom; Čovjek provjerava točnost koda.
Zadatak aplikacije
Imajte skup podataka kalibracije ili stehiometrije (ako ne, upotrijebite Beer-Lambert podatke iznad). Zatražite AI za Python kod koji radi analizu (kôd, ne rezultat). Pokrenite kod; zatim ga testirajte s malim uzorkom poznatih odgovora. Pitajte AI usmeno za isti izračun i usporedite dva rezultata: postoji li razlika? Protumačite dijagram R² i reziduala u kalibraciji. Stavite kod, izlaz i kratki komentar u dokument.
popis za provjeru
- [ ] Numeričke rezultate dobivam iz koda, a ne iz verbalnog pogađanja.
- [ ] Jasno označavam jedinicu svakog podatkovnog stupca.
- [ ] Testiram kod s malim uzorkom čiji je odgovor poznat.
- [ ] Izvodim rezidualnu analizu/analizu grafikona pored R² u kalibraciji.
- [ ] Određujem ograničavajući reagens u stehiometriji.
- [ ] Rezultate prijavljujem s odgovarajućom značajnom znamenkom.