@Datawhale AI 物质科学task1 打卡笔记

此笔记为物质科学task1 打卡笔记,task1主要任务是跑通baseline并将结果提交至比赛官网

代码将在魔塔和阿里云modelscope平台上运行。

作者的话:

我是非计算机类的本科学生,受到了同学邀请参加了本次夏令营和比赛。听说这个方向比较适合小白,我也比较感兴趣,就毫不犹豫地加入了🤭。希望能在这次夏令营中学习到一些新的知识和技能吧。下面是对比赛的一些理解以及个人的一些看法(可能不是很成熟🤔)

比赛任务

本次比赛提供在药物合成中常见的多种催化反应实验数据,其中包括反应的底物、包括催化剂在内的反应添加剂、反应溶剂以及反应产物,期待选手通过分析反应数据,利用机器学习、深度学习算法或者大语言模型,建立产率预测模型,从而辅助未知新反应的反应条件筛选。

分析赛题

构建一个能够准确预测碳氮成键反应产率的预测模型。

通过对反应中所包含的反应底物、添加剂、溶剂以及产物进行合理的特征化,运用机器学习模型或者深度学习模型拟合预测反应的产率

或者利用训练集数据对开源大语言模型进行微调以预测反应的产率。

即为

输入:底物和条件,(SMILES)

输出:产率,(float,0-1之间)

本次学习活动的赛题是一个典型的回归问题,即预测的结果是连续的值。

评价指标

实验真实结果与预测结果$R^2$决定系数来进行评测:

baseline主要的流程如下:

  1. 导入库:首先,代码导入了需要用到的库,包括 pandas(用于数据处理和分析),scikit-learn(机器学习库),rdkit(化学信息工具)。

  2. 读取数据:代码通过使用 pd.read_csv 函数从文件中读取训练集和测试集数据。

  3. 使用Morgan分子指纹建模SMILES

- 这个过程需要调用rdkit的相关模块。然后将Reactant1,Reactant2,Product,Additive,Solvent字段的向量拼接到一起,组成一个更长的向量。

  1. 使用随机森林预测结果

- 这里直接调用sklearnRandomForestRegressor模块实例化一个随机森林模型,并对n_estimators等重要参数进行指定。最后使用model.fit(x, y)训练模型。模型保存在本地'./random_forest_model.pkl'

  1. 加载模型进行预测,并将保存结果文件到本地:

- pkl文件直接使用pickle.load()加载,然后使用model.predict(x)进行预测。预测的结果保存为比赛官方指定的文件格式。

以上是基于赛事官网对本次比赛赛题的解释和相关流程,按作者的理解来看就是将反应底物、添加剂、溶剂以及产物进行合理的特征化,通过机器学习和深度学习的方法,预测反应的产率

Task1相关问题及解决办法

1.进入平台后要将代码和赛事数据从本地拖入到魔塔。需要打开终端并使用命令

unzip AI+化学baseline文件包.zip

2.model scope 平台退出实例后不会保存除代码以外的文件,需要及时将重要文件保存到本地

3.n_estimators为决策树的个数,决策树越多越好,但越多的决策树会带来更大的计算开销,而且后期提升的分数不明显。故不建议设置较多的决策树。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值