基于人工智能的可燃液体闪点预测实验研究与探索
Research and Exploration on Experiment Teaching of Flammable Liquid Flash Point Measurement Based on Artificial Intelligence
DOI: 10.12677/ae.2025.154662, PDF, HTML, XML,    科研立项经费支持
作者: 杨 傲, 邓 苇, 罗 婧, 黄 萧, 张 俊*:重庆科技大学安全科学与工程学院,重庆;粟 杨*:重庆科技大学计算机科学与工程学院(人工智能学院),重庆
关键词: 化工安全机器学习闪点预测新工科教学设计Chemical Safety Machine Learning Flash Point Prediction Emerging Engineering Education Teaching Design
摘要: 本文将机器学习与化工安全设计课内闪点测定实验有机结合,基于人工智能技术构建了可燃液体闪点测定实验。首先,通过文献和数据库收集到1800组闪点实验值和简化分子线性输入规范(SMILES)数据,对盐类、闪点缺失和SMILES缺失的数据进行剔除得到1300组可用数据。然后查阅文献,选择分子指纹作为分子描述符用于提取分子结构特征参数,基于Python内的RDKit工具包完成由溶剂SMILES到分子指纹的计算。通过调用sklearn内的随机森林算法建立溶剂闪点预测模型,引入网格搜索函数对决策树数量、深度和样本量进行优化并进行5次交叉验证防止模型过拟合。采用上述模型对测试集数据进行预测得到溶剂的闪点数据并与实验数据进行比对得到模型的准确率。该仿真实验融合了机器学习前沿学科知识和危险化学品管理、化工热力学等专业课程内容,强化了化工安全工程专业学生的基本功,激发了学生科研兴趣,实现了“智能 + 安全”新工科课程的建设。
Abstract: This article combines machine learning with chemical engineering safety experiments and builds a flammable liquid flash point determination experiment based on artificial intelligence technology. Firstly, 1800 sets of flash point experimental values and Simplified Molecular Input Line Entry System (SMILES) data were collected from the reference and databases. Data with salts, missing flash points, and missing SMILES were removed, resulting in 1300 sets of usable data. Then, the molecular fingerprints as descriptor were selected to extract structural characteristic parameters of flammable liquid molecules, as suggested by literature. The calculation of solvent SMILES to molecular fingerprints was performed using the RDKit toolkit in Python. A solvent flash point prediction model was established by invoking the random forest algorithm in the sklearn package. The grid search function was used to optimize the number of decision trees, depth, and sample size, and 5-fold cross-validation was performed to prevent model overfitting. The above model was used to predict flash point data of the test set and compared with experimental data to obtain the accuracy of the model. This simulation experiment integrates cutting-edge knowledge of machine learning with professional courses in chemical management and thermodynamics, strengthening the basic training of students in chemical engineering safety engineering, stimulating students’ research interests, and realizing the construction of “intelligent + safety” new engineering courses.
文章引用:杨傲, 邓苇, 罗婧, 黄萧, 张俊, 粟杨. 基于人工智能的可燃液体闪点预测实验研究与探索[J]. 教育进展, 2025, 15(4): 1102-1111. https://doi.org/10.12677/ae.2025.154662

1. 引言

在化工安全设计中,溶剂闪点是一个重要的安全指标,用于评估溶剂的易燃性和爆炸风险[1]-[3]。然而,传统的闪点测量方法需要以2~3种易燃溶剂作为实验耗材,采用开口或闭口实验方法来观察溶剂蒸汽发生闪燃时的加热温度,将其作为溶剂的闪点测量温度[4] [5]。目前实验教学中存在以下几点问题:① 采用的易燃溶剂(甲醇)在燃烧过程会产生有毒害气体,危害同学们的呼吸道黏膜和视力,并造成环境的污染;② 实验加热设备和易燃溶剂的使用存在一定安全隐患;③ 受限于设备的数量与加热时间较久,在有限的课堂时间内仅有个别同学能够实操,且难以用于大量溶剂的闪点性质预测研究。针对上述问题和新工科的需求,可燃液体闪点测定应进行大刀阔斧的改革,结合人工智能前沿学科知识(如图神经网络和深度学习等),融入化学化工基础知识,搭建多学科交叉的知识体系架构,探索新工科背景下新的实验模式[6]。进一步,改变教学模式和内容,以实际工业过程中大量溶剂闪点性质预测为教学中的问题导向,将化工过程安全涵盖其中,全面考虑溶剂的闪点性质测量实验方案的前沿性和社会性,在此基础上,培养学生对化工本质安全进行问题分析、模型构建及性质预测的能力。因此,可燃液体闪点测定以DIPPR数据库中的有机溶剂闪点性质精准预测为实验教学目标,有机融合机器学习、危险化学品管理和化工过程安全等专业理论知识,从分子结构特征提取、模型搭建和性质预测等实现有机溶剂闪点性质精准预测。如图1所示,实验内容设计包含以下三个方面:① 通过查阅DIPPR数据库收集溶剂的SMILES分子表达式和对应闪点数据,对其进行数据分析和整理;② 通过查阅文献,选用合适的分子描述符(如分子指纹、MACC、拓扑极性表面积、σ-曲线、扩展连接指纹ECFP和量子化学描述符)来精准表征分子结构特征参数;③ 选用合适的机器学习模型构建分子结构和闪点性质的构效关系模型,通过输入分子的SMILES分子表达式来精准预测其闪点性质。该实验设计紧密联系前沿科学理论和化工工程实践应用,旨在提升学生解决工程问题的能力,激发学生的科研兴趣并培养创新能力。

Figure 1. Simulation experiment design for flash point of flammable liquids based on random forest algorithm

1. 基于随机森林算法的可燃液体闪点测定仿真实验设计

2. 实验课程设计复习

在课程教学前期,需要让学生通过现有文献、书籍或智能工具(如DeepSeek、OpenAI和ChatGPT)来复习理论课程所学的机器学习基础知识:机器学习作为人工智能的一个分支,涵盖了多学科交叉专业,如计算机科学、概率论、统计学等,相比于传统的“试错型”研究方法,具有成本低、效率高等特点,在石油、医药和化工行业发展中引起了极大重视[7]-[9]。机器学习的本质是基于大量数据和特定算法规则,使计算机可以模拟人类的学习过程,通过不断的数据“学习”来提高智能决策准确率。机器学习主要包含三个阶段,即输入、训练和输出阶段。根据学习模式将机器学习划分为监督学习和无监督学习。无监督学习不需要对数据进行标记学习,在数据集中发现模式,即模型自主寻找规则并预测答案。在监督学习中,学习内容包含了被标记的输入和输出数据,最后通过新的输入预测新的输出。根据学习任务的区别,机器学习可以分为四类,如分类、回归、聚类和降维,详细介绍见表1

Table 1. Machine learning tasks and main algorithm functions

1. 机器学习任务及主要算法功能

学习任务

分类

回归

聚类

降维

主要功能

对给定的数据进行分类

对已知数据进行函数拟合, 预测未知样本

样本类别划分

减少需考虑样本特征的维度

类型

监督学习

监督学习

无监督学习

无监督学习

算法

决策树;

支持向量机;

随机森林算法

线性回归;

高斯过程回归;

人工神经网络;

随机森林算法

K均值聚类;

层次聚类

主成分分析;

差别分析

在可燃液体闪点测定实验中,机器学习算法通常基于Python开发程序进行搭建,通过导入从数据库中收集到的溶剂闪点实验数据训练模型,再利用训练得到的模型预测未知溶剂闪点数据,此类机器学习模型属于有监督的回归算法。常用的回归算法主要有线性回归、高斯过程回归、人工神经网络和随机森林(Random Forest, RF)算法,此类算法可以通过PyCharm集成开发平台中预安装的sklearn中进行调用,难度适中,不需要从底层编写机器学习程序,适合化工安全工程专业学生进行数据回归和预测[10]。在机器学习模型搭建前,需要对收集到的1800组数据集进行清洗、剔除无实验数值和SMILES的溶剂,最终得到满足要求的1300组溶剂数据。

3. 仿真实验教学过程设计

3.1. 仿真实验硬件基本要求

本教学实验案例的硬件需求为:Windows 7系统及以上,电脑运行内存4G及以上,硬盘存储500G及以上,处理器i5及以上。电脑安装Python 3.8版本及以上,且安装Python所需的集成开发环境PyCharm平台。

3.2. 实验数据读取

在机器学习预测溶剂闪点过程中,溶剂数据量为1300个,为了高效、准确的输入数据,要求将上文所述的分子SMILES和闪点数据保存到csv文件内,命名为flash_pointtk.csv。通过DeepSeek等查阅csv包、Chem和AllChem函数的使用要求,同时在PyCharm编译器上调用csv包、Chem和AllChem函数分别用于csv文件的读取和分子描述符的计算,键入代码如下(含注释):

# 导入CSV包,处理CSV文件

import csv

# 从rdkit化学信息包导入Chem

from rdkit import Chem

# 从rdkit.Chem导入AllChem

from rdkit.Chem import AllChem

# 采用csv函数打开csv文件

# 读取根目录下命名为falsh_pointtk.csv文件

with open('falsh_pointtk.csv', 'r') as file:

# 读取CSV文件

reader = csv.reader(file)

# 将读取的数据列表存在Data内

data = list(reader)

# 打印数据的前五行

print(data[:5])

# 打开要保存的CSV文件,如果无则直接创建

# 创建新的CSV文件output_fp.csv

with open('output_fp.csv', 'w', newline='') as file:

# 写入CSV文件内

writer = csv.writer(file)

# 遍历SMILES数据并转换为分子指纹数据

for row in data:

# 读取第一列的SMILES描述符

smiles = row[0]

# 读取第二列的分子物性

FP_K = row[1]

# 将SMILES转换为分子对象

molecule = Chem.MolFromSmiles(smiles)

# 将分子对象转换为分子指纹数据,半径为2,维度为2048

fingerprint = AllChem.GetMorganFingerprintAsBitVect(molecule, 2, nBits=2048)

# 将分子指纹数据['0','1']转换为浮点型数据

fingerprint_float = [float(bit) for bit in fingerprint.ToBitString()]

# 写入SMILES数据和分子指纹数据到新的CSV文件

writer.writerow([smiles] + [FP_K] + fingerprint_float)

让学生分组练习数据处理,可以通过分子指纹的不同维度(即1024或2048)来查看最终预测效果的不同,此处以维度2048进行展示。此外,也可以让同学们查阅相关文献采用比较先进的扩展连接指纹ECFP和量子化学描述符来对比不同描述符的最终预测效果差异性。通过RDKit分子处理工具内的Chem函数将SMILES数据转换为分子对象,AllChem函数将分子对象转换为分子指纹数据[11],将SMILES、闪点和分子指纹数据保存到命名为output_fp.csv文件内,详细数据如表2所示。

Table 2. Molecular fingerprint dataset calculated through SMILES expression

2. 通过SMILES表达式计算得到的分子指纹数据集

SMILES

闪点/K

1

2

3

2045

2046

2047

2048

C

87.12

0.0

0.0

0.0

0.0

0.0

0.0

0.0

C=C

129

0.0

0.0

0.0

0.0

0.0

0.0

0.0

CC

139

0.0

0.0

0.0

0.0

0.0

0.0

0.0

FC(F)=C

151

0.0

0.0

0.0

1.0

0.0

0.0

0.0

C#C

151

0.0

0.0

0.0

0.0

0.0

0.0

0.0

CF

159

0.0

0.0

0.0

0.0

0.0

0.0

0.0

C=CF

160

0.0

0.0

0.0

0.0

0.0

0.0

0.0

FC(F)=C(F)F

166

0.0

0.0

0.0

1.0

0.0

0.0

0.0

C=CC

169

0.0

0.0

0.0

0.0

0.0

0.0

0.0

CCC

171

0.0

0.0

0.0

0.0

0.0

0.0

0.0

C1CC1

180

0.0

0.0

1.0

0.0

0.0

0.0

0.0

CCF

183

0.0

0.0

0.0

0.0

0.0

0.0

0.0

C[SiH2](C)

188

0.0

0.0

0.0

0.0

0.0

0.0

0.0

CC(C)C

191

0.0

1.0

0.0

0.0

0.0

0.0

0.0

CC#C

192

0.0

0.0

0.0

0.0

0.0

0.0

0.0

COC

193

0.0

0.0

0.0

0.0

0.0

0.0

0.0

3.3. 仿真实验数据集划分

在学生基础理论掌握的情况下,让学生明白实验数据集划分的意义。通常在模型训练前,需要采用train_test_split函数将分子指纹和闪点数据进行划分,训练集和测试集的比例为8:2 [12]-[14]。训练集用于模型的训练和拟合,测试集用于验证模型的鲁棒性。X为分子指纹数据,对应csv文件内的第3到2050列。y为闪点数据,即csv文件内的第二列,键入代码如下(含注释):

# 导入pandas工具用于数据分析

import pandas as pd

# 读取csv文件

data = pd.read_csv('output_fp.csv', header=None)

# 提取特征和分子指纹数据

X = data.iloc[:, 2:].values

y = data.iloc[:, 1].values

# 导入训练、测试集划分函数

from sklearn.model_selection import train_test_split

# 划分训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

3.4. 仿真实验模型训练与超参数优化

在学生完成上述三个步骤后,让学生学会调用现有的机器学习模型来对数据进行训练建模。本课程演示的训练函数选择RFA,随机种子设置为42,可以通过调用sklearn中的RandomForestRegressor包简单、快捷的完成模型搭建。在模型训练过程,为了得到最佳的预测效果且防止过拟合情况的产生,采用网格搜索方法来优化决策树的数量、最大深度和最小样本数。同时,采用决定系数(R2)作为网格搜索过程中的评价指标、交叉验证次数为5,在搜索过程中可以通过调用sklearn中的GridSearchCV函数来快速完成网格搜索和交叉验证[15]。在需要键入以下代码(含注释):

# 导入随机森林算法模型

from sklearn.ensemble import RandomForestRegressor

# 构建随机森林模型

model = RandomForestRegressor(random_state=42)

# 导入超参数搜索空间函数

from sklearn.model_selection import GridSearchCV

# 定义超参数搜索空间

params = {'n_estimators': [100, 200, 300, 400], 'max_depth': [5, 10, 20], 'min_samples_split': [2, 5]}

# 创建网格搜索对象,使用R2作为评价指标

grid_search = GridSearchCV(model, params, scoring='r2', cv=5)

# 训练模型

grid_search.fit(X_train, y_train)

同学们运行上述程序后,可以得到最优的决策树数量(n-estimators)为400、最大深度(max_depth)为20、最小样本数量(min_samples_split)为2。

4. 仿真实验模型准确度测试

4.1. 测试集预测

学生通过仿真实验教学过程设计可以得到构建的有机溶剂闪点性质预测模型,为了进一步验证模型的可靠性,需要输入训练集外的数据来验证预测结果和实验结果的误差。在学生操作过程中可以采用joblib模型将得到的模型进行保存方便后续的调用,文件名为best_model_RFR.pkl,需要键入以下代码(含注释):

# 预测测试集

y_pred = grid_search.predict(X_test)

# 导入joblib模型用于保存最优模型

import joblib

# 保存最优模型和数据

joblib.dump(grid_search.best_estimator_, 'best_model_RFR.pkl')

4.2. 仿真实验模型准确度检验

在学生建模完成后,为了查看和对比模型预测结果的准确性,引入R2作为预测模型的评估指标[16]-[18],如下式所示:

R 2 =1 i ( y ^ i y i ) 2 i ( y ¯ i y i ) 2 (1)

式中, y i 表示真实的实验数据, y ^ i 表示预测数据, y ¯ i 表示真实实验数据的平均值可以通过 y ¯ i = 1 n i=1 n y i 计算得到。

学生可以调用sklearn中的r2_score函数来进行计算,输入测试集的闪点和预测的闪点即可进行计算,并且在模型运行后进行打印,需要键入以下代码(含注释):

# 导入评价指标R2

from sklearn.metrics import r2_score

# 计算R2

r2 = r2_score(y_test, y_pred)

# 打印评价指标

print("R2 score: ", r2)

运行上述程序,得到本次实验模型的准确率为77%。

4.3. 仿真实验数据可视化

学生在得到测试集的R2以后,为了使学生直观地查看数据和预测结果,将测试集和预测得到的闪点输出到命名为processed_data.csv文件内进行保存,其中数据的header和index均设置为True。同时导入matplotlib函数将数据进行作图便于学生观察和理解,需要键入以下代码(含注释):

# 导出测试集数据

output_data = pd.DataFrame()

output_data['Original'] = y_test

output_data['Predicted'] = y_pred

output_data.to_csv('processed_data.csv', header=True, index=True)

# 导入matplotlib.pyplot函数作为plt用于后续作图

import matplotlib.pyplot as plt

plt.figure(1)

plt.scatter(y_test, y_pred, label='Train', c='blue')

plt.title('闪点预测结果')

plt.xlabel('闪点预测值')

plt.ylabel('闪点实验值')

plt.legend(loc=4)

plt.savefig('Prediction_RF.png', dpi=300)

运行上述程序后,可以在processed_data.csv文件内得到260个可燃液体的闪点实验数据和预测数据,见表3。同时得到如图2所示的闪点预测结果,其中横坐标为闪点预测值、纵坐标为闪点实验值。实验值和预测值越靠近对角线(虚线)表明预测结果与实验测定结果越接近。此外,为了锻炼学生的创新能力,可以布置让学生课后如何在上述模型中加入学习曲线、特征重要性图的代码实现更直观的可视化结果。

Table 3. Comparison between experimental data and predicted data

3. 实验数据和预测数据对比

序号

实验数据/(K)

测试数据/(K)

0

474.82

444.79

1

323.65

308.75

2

445.70

417.30

3

345.37

413.74

4

322.00

329.64

5

331.15

320.33

6

372.15

387.49

7

398.00

368.92

8

290.00

279.64

9

361.00

328.33

255

267.15

259.85

256

338.0

343.39

257

461.0

392.77

258

410.0

377.04

259

180.0

265.77

Figure 2. Flash point experiment and prediction scatter plot

2. 闪点实验与预测散点图

5. 总结

本文基于Python程序和PyCharm开发编译平台调用化学信息学软件包RDKit,通过分子的SMILES计算可燃液体的分子描述符来提取分子结构特征参数,采用随机森林算法机器学习包搭建闪点预测模型,设计了以可燃液体闪点测定的实验案例,实验过程包括数据集采集、数据读取和模型训练回归等步骤。在化工安全设计课程中融入智能化仿真实验训练,学生由被动转为主动,增加学生参与度和互动性,同时将书本化工安全设计类知识与前沿人工智能学科知识相结合,更好地理解和掌握所学内容。融入智能化仿真实验的化工安全设计课程满足了可燃液体闪点测定实验的教学需求,增强了课程内容的可理解性与可操作性,提高了学生对计算机方法的实践和认知,开阔了解决实际问题的思路,构建了“科–教”融合的“智能 + 安全”人才培养体系,提升了运用交叉学科知识解决问题的能力,激发了对可燃液体闪点测定的学习兴趣,提高了创新实践能力与工程应用能力,契合了复合型高级化工安全工程专业人才的培养目标。

基金项目

重庆科技大学教学改革项目(202459)。

NOTES

*通讯作者。

参考文献

[1] 陈长坤, 石朗, 鲍益朋, 张宇伦. 高闪点液体燃料浸润多孔介质砂床火蔓延行为实验研究[J]. 清华大学学报(自然科学版), 2023, 63(10): 1493-1501.
[2] 张立新. 危险物品火灾危险性分类探讨[J]. 化工管理, 2019(25): 148-149.
[3] 牛正玺, 冯西平. 浅析化工安全中几个重要概念的误区[J]. 动力与电气工程, 2009(27): 93.
[4] 楚卫军, 许志国. 闭口闪点测定方法的对比分析[J]. 石油炼制与化工, 2020, 51(12): 102-106.
[5] 岳大磊, 邓良健, 杨蓓, 彭速标. 易燃液体危险品闭杯闪点与持续燃烧试验探讨[J]. 消防理论研究, 2021, 40(12): 1718-1722.
[6] 樊超, 杨铁军, 侯慧芳, 母亚双, 赵玉娟. “新工科”背景下人工智能专业核心实验教学项目设计[J]. 实验技术与管理, 2021, 38(8): 183-189.
[7] 李双星, 李一昊, 林志, 张頔, 杨艳伟, 屈哲, 李言川, 霍桂桃, 吕建军. 药物发现过程中人工智能的应用研究进展[J]. 药物评价研究, 2023, 46(9): 2030-2036.
[8] 闵超, 代博仁, 张馨慧, 杜建平. 机器学习在油气行业中的应用进展综述[J]. 西南石油大学学报(自然科学版), 2020, 42(6): 1-15.
[9] 朱礼涛, 欧阳博, 张希宝, 罗正鸿. 机器学习在多相反应器中的应用进展[J]. 化工进展, 2021, 40(4): 1699-1714.
[10] 田璐瑶, 王梓豪, 粟杨, 文华强, 申威峰. 基于深度学习的溶剂定量构效关系建模研究进展[J]. 化工学报, 2021, 71(10): 4462-4472.
[11] Landrum, G. (2025) The RDKit Documentation.
http://www.rdkit.org/docs
[12] Wang, Z., Su, Y., Shen, W., Jin, S., Clark, J.H., Ren, J., et al. (2019) Predictive Deep Learning Models for Environmental Properties: The Direct Calculation of Octanol-Water Partition Coefficients from Molecular Graphs. Green Chemistry, 21, 4555-4565.
https://doi.org/10.1039/c9gc01968e
[13] Yang, A., Su, Y., Wang, Z., Jin, S., Ren, J., Zhang, X., et al. (2021) A Multi-Task Deep Learning Neural Network for Predicting Flammability-Related Properties from Molecular Structures. Green Chemistry, 23, 4451-4465.
https://doi.org/10.1039/d1gc00331c
[14] Wu, J., Su, Y., Yang, A., Ren, J. and Xiang, Y. (2023) An Improved Multi-Modal Representation-Learning Model Based on Fusion Networks for Property Prediction in Drug Discovery. Computers in Biology and Medicine, 165, Article ID: 107452.
https://doi.org/10.1016/j.compbiomed.2023.107452
[15] Wang, Z., Song, Z. and Zhou, T. (2020) Machine Learning for Ionic Liquid Toxicity Prediction. Processes, 9, Article No. 65.
https://doi.org/10.3390/pr9010065
[16] Wenzel, J., Matter, H. and Schmidt, F. (2019) Predictive Multitask Deep Neural Network Models for Adme-Tox Properties: Learning from Large Data Sets. Journal of Chemical Information and Modeling, 59, 1253-1268.
https://doi.org/10.1021/acs.jcim.8b00785
[17] Su, Y., Wang, Z., Jin, S., Shen, W., Ren, J. and Eden, M.R. (2019) An Architecture of Deep Learning in QSPR Modeling for the Prediction of Critical Properties Using Molecular Signatures. AIChE Journal, 65, e16678.
https://doi.org/10.1002/aic.16678
[18] Yang, A., Sun, S., Qi, L., Kong, Z.Y., Sunarso, J. and Shen, W. (2025) Development of an Interpretable QSPR Model to Predict the Octanol-Water Partition Coefficient Based on Three Artificial Intelligence Algorithms. Green Chemical Engineering, 6, 193-199.
https://doi.org/10.1016/j.gce.2024.07.003