前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RDKit | 基于集成学习(Ensemble learning)预测溶解度

RDKit | 基于集成学习(Ensemble learning)预测溶解度

作者头像
DrugAI
发布2021-02-01 10:43:28
4390
发布2021-02-01 10:43:28
举报
文章被收录于专栏:DrugAI

集成学习

集成学习(Ensemble learning)是这样一个过程,按照某种算法生成多个模型,如分类器或者称为专家,再将这些模型按照某种方法组合在一起来解决某个智能计算问题。集成学习主要用来提高模型(分类,预测,函数估计等)的性能,或者用来降低模型选择不当的可能性。集成算法本身是一种监督学习算法,因为它可以被训练然后进行预测,组合的多个模型作为整体代表一个假设(hypothesis)。

集成方法是将几种机器学习技术组合成一个预测模型的元算法,以达到减小方差(bagging)、偏差(boosting)或改进预测(stacking)的效果。

集成学习在各个规模的数据集上都有很好的策略。

  • 数据集大:划分成多个小数据集,学习多个模型进行组合
  • 数据集小:利用Bootstrap方法进行抽样,得到多个数据集,分别训练多个模型再进行组合

集成方法可分为两类

  • 序列集成方法,其中参与训练的基础学习器按照顺序生成(例如 AdaBoost)。序列方法的原理是利用基础学习器之间的依赖关系。通过对之前训练中错误标记的样本赋值较高的权重,可以提高整体的预测效果。
  • 并行集成方法,其中参与训练的基础学习器并行生成(例如 Random Forest)。并行方法的原理是利用基础学习器之间的独立性,通过平均可以显著降低错误。

集成学习法的特点

  1. 将多个分类方法聚集在一起,以提高分类的准确率。
  2. 集成学习法由训练数据构建一组基分类器,然后通过对每个基分类器的预测进行投票来进行分类
  3. 严格来说,集成学习并不算是一种分类器,而是一种分类器结合的方法。
  4. 通常一个集成分类器的分类性能会好于单个分类器
  5. 如果把单个分类器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策。

基于集成学习预测溶解度

导入库

代码语言:javascript
复制
from rdkit import Chem
from rdkit.Chem import DataStructs
from rdkit.Chem import AllChem
from rdkit import RDPaths
from rdkit.Chem.Draw import IPythonConsole
from rdkit.Chem import Draw
from rdkit.Chem import PandasTools
import numpy as np
import pandas as pd
from IPython.display import HTML

载入数据

代码语言:javascript
复制
traindf = PandasTools.LoadSDF('solubility.train.sdf')
testdf = PandasTools.LoadSDF('solubility.test.sdf')
# Chek data
HTML(traindf.head(2).to_html())
 
cls2lab = {'(A) low':0, '(B) medium':1, '(C) high':2}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrugAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于集成学习预测溶解度
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档