Unit 6 / 11

Analisis Data Kimia dan Python: panda, Stoikiometri dan Penentukuran

Keuntungan:

  • Keupayaan untuk mendasarkan hasil berangka pada kod Python yang dilaksanakan dan bukannya meneka secara lisan model bahasa
  • Keupayaan untuk menulis kod stoikiometri, penentukuran dan pembersihan data kepada kecerdasan buatan dan mengujinya dengan sampel dengan jawapan yang diketahui
  • Keupayaan untuk mengelakkan ralat analisis data dengan sentiasa menentukan unit dan menyemak susunannya

Kimia penuh dengan nombor: timbangan, isipadu, nilai penyerapan, hasil, kepekatan. Memproses data ini secara manual adalah perlahan dan terdedah kepada ralat. AI menyediakan dua perkhidmatan utama di sini: (1) menulis kod Python yang memproses data, (2) menjalankan kod tersebut (dalam persekitaran yang boleh menjalankan kod) dan memberikan hasil yang pasti. Prinsip kritikal adalah ini: biarkan pengiraan kepada output kod yang dilaksanakan, bukan kepada "ramalan lisan" model bahasa. Model bahasa "Apakah 142 × 0.05?" kadangkala boleh menjawab soalan dengan salah; tetapi baris Python yang dia tulis sentiasa mengira dengan betul. Dalam unit ini, kita akan mempelajari analisis data kimia dengan AI dengan falsafah ini.

Mengapa kod lebih baik daripada meneka secara lisan?

Model bahasa melakukan aritmetik dengan "meramalkan kemungkinan hasil"; jadi ia boleh menjadi salah dengan nombor besar atau kalkulus berbilang langkah. Manakala dalam Python ungkapan 142 * 0.05 adalah deterministik: ia sentiasa mengembalikan 7.1. Jadi strategi: jangan buat AI melakukan pengiraan, cetak KOD pengiraan dan jalankan kod. Jadi anda menggunakan kreativiti AI (membina kod) dan melumpuhkan bahagian yang tidak boleh dipercayai (aritmetik kepala).

Petua: Apabila anda mendapat hasil berangka daripada AI, sebut "wakili ini dengan baris Python." Kod itu sendiri mengesahkan akaun dan membolehkan anda menjalankannya dan mengesahkannya. Jika anda tidak melihat kod, jangan percaya nombor itu.

Tugas analisis data biasa dalam kimia

  • Stoikiometri: mol, jisim, reagen pengehad, hasil teori, pengiraan hasil peratus.
  • Kepekatan: kemolaran, pencairan (M1V1 = M2V2), penukaran ppm.
  • Penentukuran: Melukis garisan penentukuran dengan hukum Beer-Lambert (kepekatan penyerapan ∝) dan mengira yang tidak diketahui.
  • Pembersihan data: membaca jadual ukuran dengan panda, membenderakan pencilan, min/ sisihan piawai.
  • Visualisasi: melukis lengkung penentukuran, graf kinetik, lengkung pentitratan.

Langkah demi langkah: Analisis data selamat dengan AI

  1. Tentukan data: Berikan lajur, unit, baris sampel dengan jelas. Jika tiada unit, AI membuat andaian.
  2. Minta kod, bukan hasil: sebut "Tulis kod panda/NumPy yang mengira ini".
  3. Jalankan kod: Jalankan sendiri atau dalam persekitaran yang boleh menjalankan kod.
  4. Uji dengan kes mudah: Uji kod dengan contoh kecil yang anda tahu jawapannya.
  5. Semakan unit dan pesanan: Adakah unit dan magnitud hasil secara fizikal munasabah?
  6. Dokumen: Tambahkan kod dan output pada buku nota percubaan (unit 8).

Empat templat yang boleh disalin

1) Stoikiometri dan peratus hasil:

Tindak balas: asid salisilik (MA 138.12) + anhidrida asetik -> aspirin (MA 180.16).Data: 2.00 g asid salisilik telah digunakan, anhidrida asetik berlebihan. Aspirin diperolehi: 2.15 g.Tugas: Tulis kod Python yang mengira peratusan hasil molekul yang boleh ubah. menghasilkan unit.Jangan mengira dalam kepala; hanya berikan kod boleh laku.

2) Penentukuran Beer-Lambert:

Data penentukuran (kepekatan mol/L -> penyerapan): 0.00->0.02, 0.02->0.21, 0.04->0.40, 0.06->0.62, 0.08->0.79. Penyerapan sampel tidak diketahui: 0.50. Tugas: Lakukan penentukuran linear dengan numpy.polyfit, cerun/pintasan dan Kira R^2, cari kepekatan yang tidak diketahui. Plot data + garis muat dengan matplotlib.

3) carta ukuran dengan panda:

Saya mempunyai CSV: lajur = sampel, timbang_g, isipadu_mL, penyerapan. Tugasan: baca dengan panda, kira kepekatan (g/L) bagi setiap sampel, tandakan baris dengan penyerapan < 0 sebagai salah, berikan kod untuk mencetak sisihan min dan std kumpulan. Tentukan unit dengan baris ulasan.

4) Pengesahan akaun pencairan:

Saya ingin menyediakan 100 mL larutan 0.05 M daripada larutan stok 0.5 M. Tugas: Tulis baris Python yang mengira jumlah stok yang diperlukan dengan M1V1=M2V2. Cetak keputusan dalam mL dan sahkan sebagai ulasan bahawa pencairan 10 kali ganda dijangka untuk semakan logik.

Gesaan lemah / Gesaan kuat

lemah:

Berapa banyak aspirin datang daripada 2 gram asid salisilik?

AI memberikan nombor dari kepala; Jika ia salah mengingati berat molekul, hasilnya akan diherotkan dan cara ia dikira tidak akan kelihatan.

kuat:

Andaikan asid salisilik MA=138.12, aspirin MA=180.16, jisim=2.00 g, hasil 100%.Tugas: Tulis kod Python yang mengira jisim teori aspirin; komen setiap langkah (mol -> mol -> jisim), cetak hasilnya dalam g.

Perbezaan: berat molekul diberikan, kod diminta, langkah diulas, unit dinyatakan. Hasilnya adalah tepat dan boleh diaudit.

Ramalan lisan dsb. kod dilaksanakan

Saiz

Ramalan lisan model bahasa

Python lari

Ketepatan aritmetik

Boleh ubah, ralat mungkin berlaku

Deterministik, pasti

Kebolehaudit

Keguguran (tidak jelas bagaimana ia keluar)

Tinggi (kod boleh dilihat)

kebolehulangan

rendah

tinggi

Penjejakan unit

lemah

Boleh terus dibuka dalam kod

Penggunaan yang betul

Idea, struktur bangunan

Keputusan berangka akhir

kes mini

Kes 1 — Ralat aritmetik lisan. Seorang pelajar bertanya AI "0.0145 mol × 180.16 g/mol?" dia bertanya; "2.72 g," kata AI. Sebenarnya ia adalah 2.61g. Apabila pelajar berkata "tunjukkan ini dalam Python", YZ menulis 0.0145 * 180.16 dan keluar sebagai 2,612; Respons lisan pertama adalah salah. Pelajaran: lebih suka kod walaupun untuk pendaraban yang sangat mudah.

Kes 2 — R² semak masuk penentukuran. Seorang pengguna telah melakukan penentukuran Beer-Lambert; Ternyata R² = 0.981. AI berkata "linear, boleh dipercayai" tetapi titik pada kepekatan tertinggi berada di bawah garisan (tepu). Apabila pengguna melihat graf, ia mengalihkan titik tertinggi keluar daripada julat linear, R² meningkat kepada 0.999. Pengajaran: R² sahaja tidak mencukupi; lihat sisa/plot.

Kes 3 — Kecelaruan unit. Dalam satu analisis tidak jelas sama ada kepekatannya adalah mg/L atau g/L; AI ​​menganggap g/L dan hasilnya 1000 kali salah. Ia telah ditetapkan apabila pengguna menyatakan secara eksplisit unit lajur. Pengajaran: sentiasa tukar unit, dengan mengandaikan AI mahal.

Kesilapan biasa

  • Bergantung pada nombor lisan. Sentiasa minta dan jalankan kod daripada melakukan aritmetik mental.
  • Tidak menyatakan unit. Mencampurkan mg/L dengan g/L, mL dengan L, menyebabkan ralat 1000 kali ganda.
  • Tidak menguji kod. Memohon data besar tanpa menguji dengan contoh kecil di mana jawapannya diketahui.
  • Mempertimbangkan R² sebagai satu-satunya kriteria. Mempercayai titik bukan linear tanpa melihatnya secara grafik.
  • Langkau reagen penguji. Mengira hasil teori tanpa menentukan reagen pengehad dalam stoikiometri.
  • Curahan langkah yang ketara. Melaporkan keputusan kepada 8 digit apabila ukuran adalah 3 digit bererti.
Awas: Malah kod yang ditulis AI mungkin rosak (nama lajur yang salah, formula yang salah). Menjalankan kod menjadikan keputusan menentukan, tetapi anda mesti mengesahkan dengan contoh yang diketahui bahawa kod itu mengira perkara yang betul.

Secara ringkasnya

  • Biarkan hasil berangka kepada kod Python yang dilaksanakan, bukan kepada tekaan lisan model bahasa.
  • AI dengan cepat menulis kod untuk stoikiometri, penentukuran, pembersihan data dan visualisasi dalam analisis data kimia.
  • Sentiasa letakkan unit; Kekeliruan unit adalah kesilapan yang paling mahal.
  • Periksa baki dan graf sebagai tambahan kepada R² dalam penentukuran.
  • Uji kod dengan contoh mudah dengan jawapan yang diketahui; Manusia mengesahkan ketepatan kod.

Tugasan permohonan

Mempunyai set data penentukuran atau stoikiometri (jika tidak, gunakan data Beer-Lambert di atas). Minta AI untuk kod Python yang melakukan analisis (kod, bukan hasilnya). Jalankan kod; kemudian mengujinya dengan sampel kecil jawapan yang diketahui. Tanya AI secara lisan untuk pengiraan yang sama dan bandingkan kedua-dua keputusan: adakah terdapat perbezaan? Tafsirkan plot R² dan baki dalam penentukuran. Letakkan kod, output dan ulasan pendek dalam dokumen.

senarai semak

  • [ ] Saya mendapat keputusan berangka daripada kod, bukan daripada tekaan lisan.
  • [ ] Saya dengan jelas menunjukkan unit setiap lajur data.
  • [ ] Saya menguji kod dengan sampel kecil yang jawapannya diketahui.
  • [ ] Saya melakukan analisis sisa/graf di sebelah R² dalam penentukuran.
  • [ ] Saya menentukan reagen pengehad dalam stoikiometri.
  • [ ] Saya melaporkan keputusan dengan digit bererti yang sesuai.