Python3机器学习实践:集成学习之Blending(模型混合)

Blending也是一种模型融合的方法,和Stacking过程很类似。

一、Blending流程图

二、算法步骤

1,原始训练数据集分割

将原始的训练数据集按照一定的比例分为训练数据集DT和验证(或者说测试)数据集DA。其中训练数据集的比例大概60-80%,如果这个比例太大的话,就会导致最终用于训练的数据样本数较少,因为最终用于训练的样本数就等于验证数据集的样本数数。预测数据集定义为DP。

2,构建模型阶段

假设要构建M个模型M1,M2,……MM。以模型Mi为例说明:对训练数据集DT进行学习,得到模型Mi。学习完毕后对验证数据DA的计算结果为DA_Mi,对预测数据集合的计算结果为DP_Mi。待M个模型全部建立完成后:

  1. 对验证数据得到的结果集合为DA_M1,DA_M2,……,DA_MM,其中每个结果序列都可看作一个新的特征,将这些新的特征排列起来看作一个训练数据集的输入,输出就是原始数据集中验证数据集的输出。输出和输入结合起来构成一个完整的训练数据集;

  2. 对预测数据得到的结果集合为DP_M1,DP_M2,……,DP_MM,其中每个结果序列都可看作一个新的特征,将这些新的特征排列起来看作一个预测数据集的输入;

  3. 对a中得到的训练数据集建立模型M0,学习完毕后,该模型对于b中得到的预测数据集进行计算,得到最终的结果;

三、Blending实例

1,北京Pm2.5预测(回归)
  • Blending第一层各个模型的结果

  • 第二层采用线性回归,依据不同方法求解的结果对比

    1,公式法

2,梯度下降法

2,成年人收入(分类)
  • Blending第一层各个模型的结果

  • 第二层采用逻辑回归的成本函数曲线

  • 最终的预测数据集结果混淆矩阵

实例代码:Blending,扫描下方二维码或者微信公众号直接搜索”Python范儿“,关注微信公众号pythonfan, 获取更多实例和代码。

你可能感兴趣的:(python3机器学习实战)