Stacking 集成

Stacking 集成_第1张图片
stacking集成

上半部分是用一个基础模型进行5折交叉验证,如:用XGBoost作为基础模型Model1。假设我们整个Training Data包含10000行数据,Testing Data包含8000行数据,那么每一次交叉验证要做的事情如下:

  1. 取Training Data中的8000行数据训练模型。
  2. 用训练好的模型对Training Data中剩下的2000行数据进行预测。
  3. 用训练好的模型对Testing Data中的数据进行预测。

5折交叉验证完成后,对于Training Data中的每行数据都可以得到1个预测结果,也就是说会得到一个10000行、1列的数据,对于Testing Data中的每行数据则都可以得到5个预测结果,也就说会得到一个8000行、5列的数据。接下来对于Testing Data得到的8000行数据,按行取平均,得到一个8000行、1列的数据。

通常我们会选用多个基础模型,假设选用了10个基础模型Model1~Model10,那么最终整合以后,由Training Data得到一个10000行、10列的数据,记为数据集A,由Testing Data得到一个8000行10列的数据,记为数据集B。最后以数据集A作为训练集,数据集B作为测试集训练最终的模型,当然也可以考虑融合原数据集中的特征,余下的不再赘述。

你可能感兴趣的:(Stacking 集成)