收益:
- 能够将数值结果基于执行的 Python 代码,而不是对语言模型的口头猜测
- 能够将化学计量、校准和数据清理代码写入人工智能并使用已知答案的样本进行测试
- 能够通过始终指定单位并检查其顺序来防止数据分析错误
化学充满了数字:称重、体积、吸光度值、产量、浓度。手动处理这些数据速度缓慢且容易出错。 AI 在这里提供两项主要服务:(1) 编写处理数据的 Python 代码,(2) 运行该代码(在可以运行代码的环境中)并给出确定性结果。关键原则是:将计算留给执行代码的输出,而不是语言模型的“口头预测”。语言模型“142 × 0.05 是什么?”有时可能会错误地回答问题;但他写的Python行总是计算正确。在本单元中,我们将本着这一理念学习人工智能化学数据分析。
为什么代码比口头猜测更好?
语言模型通过“预测可能的结果”来进行算术;所以对于大数或多步微积分来说可能会出错。而在 Python 中,表达式 142 * 0.05 是确定性的:它始终返回 7.1。所以策略:不要让AI做计算,打印计算的CODE并运行代码。所以你利用人工智能的创造力(构建代码)并禁用不可靠的一面(头算术)。
提示:当您从 AI 获得数值结果时,请说“用一行 Python 代码表示该结果”。代码本身既验证帐户,又允许您运行它并确认它。如果您没有看到代码,请不要相信该号码。
化学中的典型数据分析任务
- 化学计量:摩尔、质量、限制试剂、理论产率、百分比产率计算。
- 浓度:摩尔浓度、稀释度 (M1V1 = M2V2)、ppm 转换。
- 校准:用比尔-朗伯定律(吸光度∝浓度)绘制校准线并计算未知数。
- 数据清理:用 pandas 读取测量表、标记异常值、平均值/标准差。
- 可视化:绘制校准曲线、动力学图、滴定曲线。
一步一步:利用人工智能进行安全数据分析
- 定义数据:明确给出列、单位、样本行。如果没有单位,AI就会做出假设。
- 要求代码,而不是结果:说“编写计算此的 pandas/NumPy 代码”。
- 运行代码:自己运行或者在可以运行代码的环境中运行。
- 使用简单案例进行测试:使用一个您知道答案的小示例来测试代码。
- 单位和顺序检查:结果的单位和大小在物理上是否合理?
- 文档:将代码和输出添加到实验笔记本(第 8 单元)。
四个可复制模板
1) 化学计量和产率:
反应:水杨酸(MA 138.12)+乙酸酐 -> 阿司匹林(MA 180.16)。数据:使用了 2.00 g 水杨酸,乙酸酐过量。获得阿司匹林:2.15 g。任务:编写计算理论产率和百分比产率的 Python 代码。将分子量定义为变量,以单位打印结果。不要在头中计算;只需给出可执行代码。
2) 比尔-朗伯校准:
校准数据(浓度mol/L->吸光度):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)用pandas测量图表:
我有一个 CSV:列 = 样品、称重克、体积毫升、吸光度。任务:用 pandas 读取,计算每个样品的浓度 (g/L),将吸光度 < 0 的行标记为不正确,给出代码来打印各组的平均值和标准偏差。用注释行指定单位。
4)稀释账户验证:
我想从 0.5 M 库存溶液中制备 100 mL 的 0.05 M 溶液。任务:编写 Python 行,计算 M1V1=M2V2 所需的库存量。打印结果(以 mL 为单位)并作为注释验证逻辑检查需要 10 倍稀释。
弱提示/强提示
弱:
2 克水杨酸可产生多少阿司匹林?
AI从头给出一个数字;如果它错误地记住了分子量,结果将被扭曲并且其计算方式将不可见。
强:
假设水杨酸MA=138.12,阿司匹林MA=180.16,质量=2.00 g,收率100%。 任务:编写Python代码,计算阿司匹林的理论质量;注释每一步(摩尔 -> 摩尔 -> 质量),以 g 为单位打印结果。
差异:给出的分子量、请求的代码、注释的步骤、指定的单位。结果既准确又可审计。
口头预测等执行代码
尺寸
语言模型言语预测
Python运行
算术准确度
变量,可能会出现错误
确定性的,确定的
可审计性
流产(目前还不清楚是怎么流产的)
高(代码可见)
重复性
低
高
单位追踪
弱
可以在代码中保持打开状态
正确使用
理念、建筑结构
最终数值结果
迷你箱
案例 1 — 口头算术错误。一名学生问 AI“0.0145 mol × 180.16 g/mol?”他问道; “2.72克,”人工智能说。实际上是2.61克。当学生说“用Python显示这个”时,YZ写了0.0145 * 180.16,结果是2,612;第一个口头回答是错误的。教训:即使对于非常简单的乘法,也更喜欢代码。
情况 2 — R² 检查校准。一位用户完成了比尔-朗伯校准;结果是 R² = 0.981。 AI说“线性,可靠”,但最高浓度的点低于该线(饱和度)。当用户看到图表时,它将最高点移出了线性范围,R² 增加到 0.999。经验教训:仅靠 R² 是不够的;还需要参见残差/图。
案例 3 — 单位混乱。在一项分析中,不清楚浓度是 mg/L 还是 g/L; AI假设g/L,结果错了1000次。当用户明确指定列单位时,该问题已修复。教训:假设人工智能很昂贵,总是少用单位。
常见错误
- 依靠口头数字。始终请求并运行代码,而不是进行心算。
- 不指定单位。将 mg/L 与 g/L、mL 与 L 混合会导致 1000 倍的误差。
- 不测试代码。无需通过已知答案的小示例进行测试即可应用于大数据。
- 将 R² 视为唯一标准。无需以图形方式查看非线性点即可信任它们。
- 跳过测试试剂。计算理论产率,无需确定化学计量中的限制试剂。
- 显着的步骤倾注。当测量结果为 3 位有效数字时,将结果报告为 8 位。
注意:即使是人工智能编写的代码也可能是错误的(错误的列名、错误的公式)。运行代码使结果具有确定性,但您必须使用已知示例来确认代码计算出正确的结果。
综上所述
- 将数值结果留给执行的 Python 代码,而不是语言模型的口头猜测。
- AI 快速编写化学数据分析中的化学计量、校准、数据清理和可视化代码。
- 始终打开装置;单位混淆是最昂贵的错误。
- 除了 R² 之外,还检查校准中的残差和图表。
- 用一个简单的例子和一个已知的答案来测试代码;人工验证代码的准确性。
应用任务
拥有校准或化学计量数据集(如果没有,请使用上面的比尔-朗伯数据)。向 AI 询问进行分析的 Python 代码(代码,而不是结果)。运行代码;然后用一小部分已知答案进行测试。口头询问 AI 进行相同的计算,并比较两个结果:有区别吗?解释校准中的 R² 和残差图。将代码、输出和简短注释放入文档中。
清单
- [ ] 我从代码中获得数值结果,而不是从口头猜测中获得。
- [ ] 我清楚地标明了每个数据列的单位。
- [ ] 我用一个小样本测试代码,其答案是已知的。
- [ ] 我在校准中在 R² 旁边执行残差/图形分析。
- [ ] 我确定化学计量中的限制试剂。
- [ ] 我用适当的有效数字报告结果。