集成学习
集成学习(Ensemble learning)是这样一个过程,按照某种算法生成多个模型,如分类器或者称为专家,再将这些模型按照某种方法组合在一起来解决某个智能计算问题。集成学习主要用来提高模型(分类,预测,函数估计等)的性能,或者用来降低模型选择不当的可能性。集成算法本身是一种监督学习算法,因为它可以被训练然后进行预测,组合的多个模型作为整体代表一个假设(hypothesis)。
集成方法是将几种机器学习技术组合成一个预测模型的元算法,以达到减小方差(bagging)、偏差(boosting)或改进预测(stacking)的效果。
集成学习在各个规模的数据集上都有很好的策略。
集成方法可分为两类
集成学习法的特点
导入库
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
载入数据
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}