Machine Learning with Scikit-Learn and Tensorflow 7.10 Stacking

书籍信息
Hands-On Machine Learning with Scikit-Learn and Tensorflow
出版社: O’Reilly Media, Inc, USA
平装: 566页
语种: 英语
ISBN: 1491962291
条形码: 9781491962299
商品尺寸: 18 x 2.9 x 23.3 cm
ASIN: 1491962291

系列博文为书籍中文翻译
代码以及数据下载:https://github.com/ageron/handson-ml

我们最后讨论的集成学习方法是stacking(Stacked Generalization)。其核心思想是与其使用简单的函数(例如投票)整合基础模型的结果,我们不如使用基础模型的结果训练模型(blender/meta learner)预测最终的结果。

Machine Learning with Scikit-Learn and Tensorflow 7.10 Stacking_第1张图片

为了实现这样的思想,我们将训练数据划分为两部分。第1部分用于训练基础模型,第2部分(hold-out set)用于训练blender。blender的训练数据是基础模型在第2部分数据的预测结果。

Machine Learning with Scikit-Learn and Tensorflow 7.10 Stacking_第2张图片

Machine Learning with Scikit-Learn and Tensorflow 7.10 Stacking_第3张图片

事实上,我们可以使用这样的方法训练多个blender(例如,1个使用线性回归,1个使用随机森林)。为了实现这样的思想,我们将训练数据划分为三部分,第1部分用于训练基础模型,第2部分用于训练blender(使用基础模型的预测结果),第3部分用于训练最终模型(使用blender的预测结果)。进行预测时,只要按照顺序计算模型的预测结果,就能够得到最终的结果。

Machine Learning with Scikit-Learn and Tensorflow 7.10 Stacking_第4张图片

scikit-learn没有提供stacking的实现,但是实现这样的思想并不困难(参见习题)。我们也可以使用开源实现,例如brew(https://github.com/viisar/brew)。

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