DataWhale AI夏令营 AI+化学 task1

导入库

读取数据

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

使用Morgan分子指纹建模SMILES
此步先要完成特征提取,具体来说,有rxnid,Reactant1,Reactant2,Product,Additive,Solvent,Yield字段。其中:

rxnid 对数据的id标识,无实际意义
Reactant1 反应物1
Reactant2 反应物2
Product 产物
Additive 添加剂(包括催化剂catalyst等辅助反应物合成但是不对产物贡献原子的部分)
Solvent 溶剂
Yield 产率 其中Reactant1,Reactant2,Product,Additive,Solvent都是由SMILES表示。
这个过程需要调用rdkit的相关模块。然后将Reactant1,Reactant2,Product,Additive,Solvent字段的向量拼接到一起,组成一个更长的向量。

Rdkit:化学信息学中主要的工具,开源。网址:http://www.rdkit.org,支持WIN\MAC\Linux,可以被python、Java、C调用。几乎所有的与化学信息学相关的内容都可以在上面找到。

使用随机森林进行建模。

sklearn (scikit-learn) 

是一个非常广泛使用的开源机器学习库,基于Python,建立在NumPy、SciPy、Pandas和Matplotlib等数据处理和分析的库之上。
它涵盖了几乎所有主流机器学习算法,包括分类、回归、聚类、降维等。API设计亲民,整个使用简单易上手,非常适合作为机器学习入门的工具。 官网:scikit-learn: machine learning in Python — scikit-learn 1.5.1 documentation

在sklearn中,几乎所有的机器学习的流程是:

  1. 实例化模型(并指定重要参数);
  2. model.fit(x, y) 训练模型;

随机森林 

参数解释:

  • n_estimators=10: 决策树的个数,越多越好;但是越多意味着计算开销越大;
  • max_depth: (default=None)设置树的最大深度,默认为None;
  • min_samples_split: 根据属性划分节点时,最少的样本数;
  • min_samples_leaf: 叶子节点最少的样本数;
  • n_jobs=1: 并行job个数,-1表示使用所有cpu进行并行计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值