одиниці
1. Вступ до штучного інтелекту в хімії: ролі, межі, перевірка та етика 2. Молекулярне представлення та хімічна структура: перевірка за допомогою SMILES, InChI та RDKit 3. Прогнозування реакції та механізм: прогнозування продукту, стану та побічної реакції 4. Підтримка інтерпретації спектру: ЯМР, ІЧ та мас-спектрометрія 5. Огляд літератури та планування узагальнення: Джерело, процедура та дорожня карта 6. Аналіз хімічних даних і Python: pandas, стехіометрія та калібрування 7. Прогнозування молекулярних властивостей і QSAR: роздільна здатність, pKa та межі моделі 8. Лабораторна документація: Блокнот для експериментів, ELN і відтворюваність 9. Оцінка безпеки та небезпеки: GHS, SDS та межі штучного інтелекту 10. Підтвердження, галюцинація та наукова чесність 11. Людина в експерименті: етика, конфіденційність, відповідальність і наскрізний робочий процес
одиниця 6 / 11

Аналіз хімічних даних і Python: pandas, стехіометрія та калібрування

Прибуток:

  • Можливість базувати чисельні результати на виконаному коді Python, а не на словесному вгадуванні мовної моделі
  • Можливість писати код стехіометрії, калібрування та очищення даних для штучного інтелекту та тестувати його на зразках із відомими відповідями
  • Можливість запобігати помилкам аналізу даних, завжди вказуючи одиниці та перевіряючи їх порядок

Хімія наповнена цифрами: зважування, об’єми, значення поглинання, вихід, концентрації. Обробка цих даних вручну є повільною та схильною до помилок. ШІ надає тут дві основні послуги: (1) пише код Python, який обробляє дані, (2) запускає цей код (у середовищі, яке може запускати код) і дає детермінований результат. Критичний принцип такий: залиште обчислення результатом виконуваного коду, а не «словесним передбаченням» мовної моделі. Мовна модель «Що таке 142 × 0,05?» іноді може невірно відповісти на запитання; але рядок Python, який він пише, завжди обчислює правильно. У цьому розділі ми навчимося аналізу хімічних даних за допомогою ШІ з цією філософією.

Чому код кращий за словесне вгадування?

Мовна модель виконує арифметику, «передбачаючи можливий результат»; тому він може бути неправильним з великими числами або багатокроковим обчисленням. Тоді як у Python вираз 142 * 0,05 є детермінованим: він завжди повертає 7,1. Отже, стратегія: не змушуйте штучний інтелект виконувати обчислення, надрукуйте КОД обчислень і запустіть код. Таким чином, ви використовуєте креативність ШІ (побудова коду) і відключаєте ненадійну сторону (головна арифметика).

Порада. Коли ви отримуєте числовий результат від штучного інтелекту, скажіть «представте це за допомогою рядка Python». Сам код як перевіряє обліковий запис, так і дозволяє вам запустити його та підтвердити. Якщо ви не бачите код, не довіряйте номеру.

Типові задачі аналізу даних з хімії

  • Стехіометрія: моль, маса, граничний реагент, теоретичний вихід, розрахунок процентного виходу.
  • Концентрація: молярність, розведення (M1V1 = M2V2), конверсії ppm.
  • Калібрування: проведення калібрувальної лінії за законом Бір-Ламберта (поглинання ∝ концентрація) і обчислення невідомого.
  • Очищення даних: читання таблиць вимірювань із пандами, позначення викидів, середнього/стандартного відхилення.
  • Візуалізація: малюнок калібрувальної кривої, графіка кінетики, кривої титрування.

Крок за кроком: безпечний аналіз даних за допомогою ШІ

  1. Визначте дані: чітко вкажіть стовпці, одиниці вимірювання, вибіркові рядки. Якщо одиниці немає, AI робить припущення.
  2. Запитуйте код, а не результати: скажіть «Напишіть код pandas/NumPy, який обчислює це».
  3. Запустіть код: запустіть його самостійно або в середовищі, яке може виконувати код.
  4. Перевірте простий випадок: перевірте код на невеликому прикладі, де ви знаєте відповідь.
  5. Перевірка одиниці вимірювання та порядку: чи є одиниця вимірювання та величина результату фізично розумними?
  6. Документ: додайте код і виведіть у блокнот для експерименту (розділ 8).

Чотири шаблони, які можна копіювати

1) Стехіометрія та відсоток виходу:

Реакція: саліцилова кислота (MA 138.12) + оцтовий ангідрид -> аспірин (MA 180.16). Дані: використано 2,00 г саліцилової кислоти, оцтовий ангідрид був у надлишку. Отримано аспірину: 2,15 г. Завдання: Написати код Python, який обчислює теоретичний вихід і відсоток виходу. Визначте молекулярні маси як змінні, надрукуйте результат в одиницях. Не обчислюйте в голові; просто надайте виконуваний код.

2) Калібрування за Beer-Lambert:

Дані калібрування (концентрація моль/л -> абсорбція): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Абсорбція невідомого зразка: 0,50. Завдання: виконайте лінійне калібрування за допомогою numpy.polyfit, slope/intercept і обчисліть R^2, знайдіть невідому концентрацію. Побудуйте лінію даних + підгонку за допомогою matplotlib.

3) таблиця вимірювань з пандами:

У мене є CSV: стовпці = зразок, вага_г, об’єм_мл, абсорбція. Завдання: прочитати за допомогою панд, обчислити концентрацію (г/л) для кожного зразка, позначити рядки з поглинанням < 0 як неправильні, надати код для друку середнього значення та стандартного відхилення груп. Укажіть одиниці вимірювання з коментарем.

4) Перевірка рахунку розведення:

Я хочу приготувати 100 мл 0,05 М розчину з 0,5 М основного розчину. Завдання: Написати рядок Python, який розраховує необхідний обсяг запасу за M1V1=M2V2. Роздрукуйте результат у мл і підтвердьте як коментар, що для логічної перевірки очікується 10-кратне розведення.

Слабка підказка / Сильна підказка

Слабкий:

Скільки аспірину виходить з 2 грамів саліцилової кислоти?

AI видає число з голови; Якщо він запам’ятовує молекулярні маси неправильно, результат буде спотворений, і не буде видно, як він був розрахований.

Сильний:

Припустимо, що саліцилова кислота MA=138,12, аспірин MA=180,16, маса=2,00 г, вихід 100%. Завдання: Написати код Python, який обчислює теоретичну масу аспірину; коментуйте кожен крок (моль -> моль -> маса), виведіть результат у г.

Відмінність: указано молекулярну масу, запитаний код, кроки прокоментовано, визначено одиницю. Результат як точний, так і перевірений.

Виконуваний код вербального передбачення тощо

Розмір

Мовна модель вербального передбачення

Запуск Python

Арифметична точність

Змінна, може виникнути помилка

Детермінований, певний

Аудитируемость

Викидень (незрозуміло як виникло)

Високий (код видно)

повторюваність

низький

висока

Відстеження одиниць

слабкий

Можна залишати відкритим у коді

Правильне використання

Ідея, будівельна конструкція

Кінцевий числовий результат

міні-чохли

Випадок 1 — Усна арифметична помилка. Студент запитує AI «0,0145 моль × 180,16 г/моль?» запитав він; «2,72 г», — сказав AI. Насправді це 2,61 г. Коли студент сказав «покажи це на Python», YZ написав 0,0145 * 180,16 і вийшло 2612; Перша усна відповідь була неправильною. Урок: віддавайте перевагу коду навіть для дуже простого множення.

Випадок 2 — перевірка R² при калібруванні. Один користувач пройшов калібрування Beer-Lambert; Виходить R² = 0,981. ШІ сказав «лінійний, надійний», але точка найвищої концентрації була нижче лінії (насичення). Коли користувач побачив графік, він перемістив найвищу точку за межі лінійного діапазону, R² збільшився до 0,999. Урок: одного R² недостатньо; див. залишки/ділянку.

Випадок 3 — плутанина одиниць. В одному аналізі було незрозуміло, чи була концентрація мг/л чи г/л; ШІ припустив г/л, і результати були помилковими в 1000 разів. Це було виправлено, коли користувач явно вказував одиницю колонки. Урок: завжди замінюйте одиницю, припускаючи, що ШІ дорогий.

Поширені помилки

  • Опора на усну лічбу. Завжди запитуйте та запускайте код, а не рахуйте в розумі.
  • Не вказуючи одиницю. Змішування мг/л з г/л, мл з л призводить до 1000-кратної помилки.
  • Не тестування коду. Застосування великих даних без тестування з маленьким прикладом, де відповідь відома.
  • Розглядаючи R² як єдиний критерій. Довіряючи точкам нелінійності, не переглядаючи їх графічно.
  • Пропустіть реагент тестера. Розрахунок теоретичного виходу без визначення граничного реагенту в стехіометрії.
  • Значний крок виливу. Повідомлення результату до 8 цифр, якщо вимірювання складається з 3 значущих цифр.
Застереження: навіть код, який пише AI, може бути несправним (неправильна назва стовпця, неправильна формула). Запуск коду робить результат детермінованим, але ви повинні підтвердити відомим прикладом, що код обчислює правильну річ.

Підсумовуючи

  • Залиште числові результати виконаному коду Python, а не вербальному припущенню мовної моделі.
  • ШІ швидко пише код для стехіометрії, калібрування, очищення даних і візуалізації в аналізі хімічних даних.
  • Завжди встановлюйте одиниці; Плутанина одиниць – найдорожча помилка.
  • Перегляньте залишки та графік на додаток до R² під час калібрування.
  • Перевірте код на простому прикладі з відомою відповіддю; Людина перевіряє точність коду.

Аплікаційне завдання

Майте набір даних калібрування або стехіометрії (якщо ні, використовуйте дані Beer-Lambert вище). Попросіть ШІ код Python, який виконує аналіз (код, а не результат). Запустіть код; потім перевірте це на невеликій вибірці відомих відповідей. Попросіть штучного інтелекту усно зробити той самий розрахунок і порівняйте два результати: чи є різниця? Інтерпретуйте графік R² і залишку під час калібрування. Розмістіть код, вихід і короткий коментар у документі.

контрольний список

  • [ ] Я отримую числові результати з коду, а не з усного припущення.
  • [ ] Я чітко вказую одиниці кожного стовпця даних.
  • [ ] Я тестую код на невеликому зразку, відповідь якого відома.
  • [ ] Я виконую залишковий аналіз/аналіз графіка поруч із R² під час калібрування.
  • [ ] Визначаю граничний реагент у стехіометрії.
  • [ ] Я повідомляю результати з відповідною значущою цифрою.