Прибыль:
- Способность основывать числовые результаты на исполняемом коде Python, а не на словесных догадках о языковой модели.
- Возможность написать код стехиометрии, калибровки и очистки данных для искусственного интеллекта и протестировать его на образцах с известными ответами.
- Возможность предотвратить ошибки анализа данных, всегда указывая единицы измерения и проверяя их порядок.
Химия полна цифр: взвешивание, объемы, значения поглощения, выходы, концентрации. Обработка этих данных вручную является медленной и подверженной ошибкам. Здесь ИИ предоставляет две основные услуги: (1) пишет код Python, который обрабатывает данные, (2) запускает этот код (в среде, которая может запускать код) и дает детерминированный результат. Критический принцип таков: оставьте вычисления выходным данным исполняемого кода, а не «вербальному предсказанию» языковой модели. Языковая модель «Что такое 142 × 0,05?» иногда может неправильно ответить на вопрос; но строка Python, которую он пишет, всегда рассчитывается правильно. В этом разделе мы изучим химический анализ данных с помощью ИИ, придерживаясь этой философии.
Почему код лучше словесных догадок?
Языковая модель выполняет арифметические действия, «предсказывая возможный результат»; поэтому это может быть неправильно с большими числами или многоэтапными вычислениями. Тогда как в Python выражение 142*0,05 является детерминированным: оно всегда возвращает 7,1. Итак, стратегия: не заставляйте ИИ выполнять расчеты, распечатайте КОД расчета и запустите код. Таким образом, вы используете креативность ИИ (построение кода) и отключаете ненадежную сторону (головная арифметика).
Совет: когда вы получите числовой результат от ИИ, скажите «представьте это с помощью строки Python». Сам код не только проверяет учетную запись, но и позволяет запустить ее и подтвердить. Если вы не видите код, не доверяйте номеру.
Типичные задачи анализа данных в химии
- Стехиометрия: моль, масса, лимитирующий реагент, теоретический выход, расчет процента выхода.
- Концентрация: молярность, разбавление (M1V1 = M2V2), преобразование в ppm.
- Калибровка: рисование калибровочной линии по закону Бера-Ламберта (поглощение ∝ концентрация) и вычисление неизвестного.
- Очистка данных: чтение таблиц измерений с помощью панд, пометка выбросов, среднее/стандартное отклонение.
- Визуализация: построение калибровочной кривой, графика кинетики, кривой титрования.
Шаг за шагом: безопасный анализ данных с помощью ИИ
- Определите данные: четко укажите столбцы, единицы измерения и примеры строк. Если юнита нет, ИИ делает предположения.
- Запрашивайте код, а не результаты: скажите «Напишите код pandas/NumPy, который это вычисляет».
- Запустите код: запустите его самостоятельно или в среде, которая может запускать код.
- Тест на простом примере: проверьте код на небольшом примере, ответ на который вы знаете.
- Проверка единицы измерения и порядка: являются ли единица измерения и величина результата физически разумными?
- Документ: добавьте код и выходные данные в блокнот эксперимента (блок 8).
Четыре копируемых шаблона
1) Стехиометрия и процент выхода:
Реакция: салициловая кислота (МА 138.12) + уксусный ангидрид -> аспирин (МА 180.16). Данные: Использовалось 2,00 г салициловой кислоты, уксусный ангидрид был в избытке. Получено аспирина: 2,15 г. Задача: Написать Python-программу, рассчитывающую теоретический выход и процентный выход. Определить молекулярные массы как переменные, вывести результат в единицах. Не вычислять в уме; просто дайте исполняемый код.
2) Калибровка по Беру-Ламберту:
Данные калибровки (концентрация моль/л -> оптическая плотность): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Поглощение неизвестного образца: 0,50. Задача: выполнить линейную калибровку с помощью numpy.polyfit, наклона/пересечения и рассчитать R^2, найти неизвестную концентрацию. Постройте линию данных + подгонку с помощью matplotlib.
3) таблица измерений с пандами:
У меня есть CSV: столбцы = образец, вес_г, объем_мл, поглощение. Задача: прочитать с помощью панд, рассчитать концентрацию (г/л) для каждого образца, отметить строки с оптической плотностью < 0 как неправильные, дать код для вывода среднего значения и стандартного отклонения групп. Укажите единицы измерения с помощью строки комментария.
4) Проверка счета разбавления:
Я хочу приготовить 100 мл 0,05 М раствора из 0,5 М исходного раствора. Задача: Написать строку Python, вычисляющую необходимый объем запасов с M1V1=M2V2. Распечатайте результат в мл и подтвердите в качестве комментария, что для логической проверки ожидается 10-кратное разведение.
Слабая подсказка / Сильная подсказка
Слабый:
Сколько аспирина содержится в 2 граммах салициловой кислоты?
ИИ выдает цифру из головы; Если он неправильно запомнит молекулярные массы, результат будет искажен и не будет видно, как он был рассчитан.
Сильный:
Предположим, что MA салициловой кислоты = 138,12, MA аспирина = 180,16, масса = 2,00 г, выход 100%. Задача: Написать код Python, вычисляющий теоретическую массу аспирина; прокомментируйте каждый шаг (моль -> моль -> масса), выведите результат в г.
Разница: указаны молекулярные массы, запрошен код, прокомментированы этапы, указаны единицы измерения. Результат является одновременно точным и проверяемым.
Вербальное предсказание и т. д. исполняемый код
Размер
Вербальное предсказание языковой модели
запуск Python
Арифметическая точность
Переменная, может возникнуть ошибка
Детерминированный, определенный
Проверяемость
Выкидыш (непонятно, как произошел)
Высокий (код виден)
повторяемость
низкий
высокий
Отслеживание единиц
слабый
Может оставаться открытым в коде
Правильное использование
Идея, конструкция здания
Окончательный численный результат
мини-чехлы
Случай 1 — Вербальная арифметическая ошибка. Студент спрашивает АИ: «0,0145 моль × 180,16 г/моль?» — спросил он; «2,72 г», — сказал ИИ. На самом деле это 2,61г. Когда студент сказал: «Покажи это на Python», YZ написал 0,0145 * 180,16, и получилось 2612; Первый словесный ответ был неправильным. Урок: отдавайте предпочтение коду даже для очень простого умножения.
Случай 2 — проверка R² при калибровке. Один пользователь выполнил калибровку по Беру-Ламберту; Получается R² = 0,981. ИИ сказал «линейно, надежно», но точка наибольшей концентрации оказалась ниже линии (насыщения). Когда пользователь увидел график, он переместил самую высокую точку за пределы линейного диапазона, R² увеличился до 0,999. Урок: одного R² недостаточно; см. остатки/график.
Случай 3 — Путаница единиц измерения. В одном анализе было неясно, составляла ли концентрация мг/л или г/л; ИИ предположил g/L, и результаты оказались в 1000 раз неверными. Исправлено, когда пользователь явно указывал единицу измерения столбца. Урок: всегда недооценивайте единицу, предполагая, что ИИ стоит дорого.
Распространенные ошибки
- Опираясь на словесное число. Всегда запрашивайте и запускайте код, а не занимайтесь ментальной арифметикой.
- Не указывая единицу измерения. Смешение мг/л с г/л, мл с л приводит к 1000-кратной ошибке.
- Не тестируем код. Применение к большим данным без тестирования на небольшом примере, где ответ известен.
- Учитывая R² как единственный критерий. Доверять точкам нелинейности, не видя их графически.
- Пропустите реагент для тестера. Расчет теоретического выхода без определения лимитирующего реагента по стехиометрии.
- Значительный шаг излияния. Сообщение результата в 8-значном формате, если измерение имеет 3 значащие цифры.
Внимание: даже код, который пишет ИИ, может быть ошибочным (неправильное имя столбца, неправильная формула). Запуск кода делает результат детерминированным, но вы должны подтвердить на известном примере, что код рассчитывает правильно.
В заключение
- Оставьте числовые результаты выполняемому коду Python, а не словесному предположению о языковой модели.
- ИИ быстро пишет код для стехиометрии, калибровки, очистки данных и визуализации при химическом анализе данных.
- Всегда ставьте юниты; Путаница в единицах измерения — самая дорогая ошибка.
- Проверьте остатки и график в дополнение к R² при калибровке.
- Протестируйте код на простом примере с известным ответом; Человек проверяет точность кода.
Задача приложения
Имейте набор калибровочных или стехиометрических данных (если нет, используйте приведенные выше данные Бера-Ламберта). Попросите у ИИ код Python, который выполняет анализ (код, а не результат). Запустите код; затем проверьте его на небольшой выборке известных ответов. Устно запросите у ИИ тот же расчет и сравните два результата: есть ли разница? Интерпретируйте график R² и невязки при калибровке. Поместите код, выходные данные и короткий комментарий в документ.
контрольный список
- [ ] Я получаю числовые результаты из кода, а не из устного предположения.
- [ ] Я четко указываю единицу измерения каждого столбца данных.
- [ ] Я тестирую код на небольшом образце, ответ на который известен.
- [ ] Я выполняю анализ остатков/графика рядом с R² при калибровке.
- [ ] Определяю лимитирующий реагент по стехиометрии.
- [ ] Я сообщаю результаты с соответствующей значащей цифрой.