- 本系列程序目的是复现2018年发布在Science的机器学习预测C-N偶联的文章的结果(原论文参见Ahneman, D. T.; Estrada, J. G.; Lin, S,; Dreher, S. D.; Doyle, A. G. Science 2018, 360, 186),同时根据Comment的思路,对原论文中采用的数据进行重新划分(Comment参见Chuang, K. V.; Keiser, M. J. Science 2018, 362, eaat8603)
- 目前数据集有3960个数据(22种噁唑×15种芳基卤代烷×3种碱×4种配体,其中第7种噁唑参与的反应不纳入数据集中),且输入的数据未经标准化。程序会在运行过程中自动进行标准化,这样多层感知网络等机器学习模型方能正常运行。
- 读入时选取偶极矩(即含“dipole_moment”的列)以区分不同反应中加入的物质,目前,本程序仅对芳香卤代烷和噁唑进行划分,若按芳香卤代烷划分,则具体划分如下:
第一类卤代烷:
化学名 | 偶极矩 |
---|---|
1-chloro-4-(trifluoromethyl)benzene | 0.770806 |
1-bromo-4-(trifluoromethyl)benzene | 0.754193 |
1-iodo-4-(trifluoromethyl)benzene | 1.059432 |
第二类卤代烷:
化学名 | 偶极矩 |
---|---|
1-chloro-4-methoxybenzene | 2.894904 |
1-bromo-4-methoxybenzene | 2.97534 |
1-iodo-4-methoxybenzene | 2.775967 |
1-chloro-4-ethylbenzene | 2.32974 |
1-bromo-4-ethylbenzene | 2.410215 |
1-ethyl-4-iodobenzene | 2.177715 |
第三类卤代烷:
化学名 | 偶极矩 |
---|---|
2-chloropyridine | 3.519084 |
2-bromopyridine | 3.579429 |
2-iodopyridine | 3.355629 |
3-chloropyridine | 2.089781 |
3-bromopyridine | 2.086875 |
3-iodopyridine | 1.988625 |
若按噁唑划分,则具体划分如下:
第一类噁唑:
化学名 | 偶极矩 |
---|---|
3,5-dimethylisoxazole | 3.059464 |
3-methyl-5-phenylisoxazole | 2.980515 |
5-methyl-3-(1H-pyrrol-1-yl)isoxazole | 3.387206 |
5-methylisoxazole | 3.203762 |
ethyl-3-methoxyisoxazole-5-carboxylate | 3.44567 |
ethyl-3-methylisoxazole-5-carboxylate | 4.695918 |
ethyl-5-methylisoxazole-3-carboxylate | 4.848261 |
ethyl-5-methylisoxazole-4-carboxylate | 3.973089 |
ethyl-isoxazole-3-carboxylate | 2.516823 |
ethyl-isoxazole-4-carboxylate | 2.703396 |
methyl-5-(furan-2-yl)isoxazole-3-carboxylate | 3.85783 |
methyl-5-(thiophen-2-yl)isoxazole-3-carboxylate | 3.719695 |
methyl-isoxazole-5-carboxylate | 4.564313 |
第二类噁唑:
化学名 | 偶极矩 |
---|---|
3-methylisoxazole | 2.94125 |
3-phenylisoxazole | 2.752454 |
4-phenylisoxazole | 3.268545 |
5-(2,6-difluorophenyl)isoxazole | 3.94018 |
5-phenylisoxazole | 3.210447 |
benzo[c]isoxazole | 3.198581 |
benzo[d]isoxazole | 3.184221 |
N,N-dibenzylisoxazol-3-amine | 3.036368 |
N,N-dibenzylisoxazol-5-amine | 3.974105 |
- 尽管在分类程序中,笔者分别采用Dice距离和Tanimoto距离进行分类,但最终训练时,仅采用Dice距离,而不采用Tanimoto距离,因两者的分类大致相同,均能将芳基卤代烷、碱、配体正确区分,而噁唑分类的细微差异并不影响训练部分的结论
- 训练部分的程序有五个工作流,分别具有不同的训练集和测试集划分过程,训练结果见下:
随机划分:
方法 | 训练集R2 | 训练集RMSD | 测试集R2 | 测试集RMSD |
---|---|---|---|---|
Bayes线性回归 | 0.70 | 15.05 | 0.69 | 15.12 |
决策树 | 0.97 | 4.93 | 0.85 | 10.45 |
k-最近邻 | 0.71 | 14.64 | 0.63 | 16.60 |
支持向量机(线性函数) | 0.67 | 15.63 | 0.68 | 15.42 |
多层感知网络 | 0.99 | 2.08 | 0.90 | 8.64 |
随机森林 | 0.99 | 2.82 | 0.91 | 8.05 |
岭回归 | 0.70 | 14.94 | 0.70 | 14.91 |
支持向量机(高斯函数) | 0.51 | 19.04 | 0.52 | 18.92 |
根据卤代烷分类,将第一、二类划为训练集,第三类划为测试集:
方法 | 训练集R2 | 训练集RMSD | 测试集R2 | 测试集RMSD |
---|---|---|---|---|
Bayes线性回归 | 0.72 | 12.17 | 0.10 | 28.22 |
决策树 | 0.97 | 4.05 | -0.82 | 40.08 |
k-最近邻 | 0.66 | 13.47 | -0.39 | 35.03 |
支持向量机(线性函数) | 0.70 | 12.57 | -4.69 | 70.84 |
多层感知网络 | 1.00 | 1.53 | -23.58 | 147.21 |
随机森林 | 0.99 | 1.98 | -0.40 | 35.19 |
岭回归 | 0.72 | 12.10 | 0.12 | 27.85 |
支持向量机(高斯函数) | 0.52 | 15.91 | -0.61 | 37.70 |
根据噁唑分类,将第一类划为训练集,第二类划为测试集:
方法 | 训练集R2 | 训练集RMSD | 测试集R2 | 测试集RMSD |
---|---|---|---|---|
Bayes线性回归 | 0.73 | 14.09 | -1.30 | 41.89 |
决策树 | 0.98 | 3.78 | 0.32 | 22.68 |
k-最近邻 | 0.75 | 13.52 | 0.54 | 18.72 |
支持向量机(线性函数) | 0.72 | 14.38 | -0.94 | 38.40 |
多层感知网络 | 1.00 | 1.52 | -1.88 | 46.87 |
随机森林 | 0.99 | 2.01 | 0.50 | 20.16 |
岭回归 | 0.73 | 13.96 | -2.33 | 50.39 |
支持向量机(高斯函数) | 0.55 | 18.07 | 0.40 | 21.43 |
根据卤代烷分类,在每一类均进行系统抽样:
方法 | 训练集R2 | 训练集RMSD | 测试集R2 | 测试集RMSD |
---|---|---|---|---|
Bayes线性回归 | 0.71 | 14.86 | 0.67 | 15.53 |
决策树 | 0.96 | 5.32 | 0.85 | 10.36 |
k-最近邻 | 0.72 | 14.56 | 0.61 | 16.99 |
支持向量机(线性函数) | 0.68 | 15.40 | 0.65 | 16.11 |
多层感知网络 | 0.99 | 2.90 | 0.90 | 8.50 |
随机森林 | 0.99 | 2.97 | 0.91 | 8.22 |
岭回归 | 0.71 | 14.70 | 0.68 | 15.37 |
支持向量机(高斯函数) | 0.52 | 18.87 | 0.48 | 19.51 |
根据噁唑分类,在每一类均进行系统抽样:
方法 | 训练集R2 | 训练集RMSD | 测试集R2 | 测试集RMSD |
---|---|---|---|---|
Bayes线性回归 | 0.70 | 15.08 | 0.68 | 15.02 |
决策树 | 0.96 | 5.65 | 0.86 | 9.91 |
k-最近邻 | 0.71 | 14.88 | 0.63 | 16.15 |
支持向量机(线性函数) | 0.68 | 15.68 | 0.66 | 15.52 |
多层感知网络 | 0.99 | 2.49 | 0.91 | 7.94 |
随机森林 | 0.99 | 2.96 | 0.92 | 7.30 |
岭回归 | 0.71 | 14.93 | 0.68 | 14.94 |
支持向量机(高斯函数) | 0.53 | 19.04 | 0.51 | 18.53 |
由以上可知,当训练集仅囊括其中一类或几类分子,而测试集囊括另一类分子时,即使训练效果极佳,最终测试结果仍然非常离谱(尤其是多层感知神经网络);而当训练集和测试集随机划分,或按类别系统抽样时,多层感知神经网络、决策树、随机森林均表现出极佳的预测准确性。
在与其他研究该项目的同学交流后,笔者认为,该项目原来的程序难以实现“学习化学特征”的目标,因为只用一类物质训练,再用另一类物质测试,结果非常差,表明必须要遍历所有化学空间,才能保证训练和预测结果的准确性。事实上,任何研究者在做有机实验时,也会遇到类似的问题:即使从Reaxys上查阅到某个反应对某些反应物效果极好,也无法把这方面的经验直接用在其他反应物上(除非亲自做实验验证)。