集成方法-Stack理解

集成方法-Stack理解

什么是STACK?

它是机器学习常用集成方法三大类别之一,在各大kaggle表现优异,广受欢迎。基本思想是:不同模型发挥本身的优势,在他们学习的基础之上,进行融合。

原理?

  1. 数据集划分为train(train_a+train_b)=[train_a+train_b, label_a+label_b]和test=[test, test_label]
  2. 第一轮:每个模型在train_a=[train_a, label_a]中学习,对train_b预测得到new_train_b,同理得到new_train_a,得到new_train=[new_train_a+new_train_b, label_a+label_b]。每个模型对test进行预测,得到new_test=[new_test, test_label]。当有N个模型,则有N列不同的new_train数据和new_test数据。
  3. 第二轮:训练数据是[new_train1, new_train2, … ,new_trainN],测试数据是[new_test1, new_test2, …, new_testN]。训练方式同第一轮,N个模型分别走一遍。
  4. 得到集成学习器。(这里还不是很理解)

辅助理解图解
在这里插入图片描述


参考:

  1. Ensemble Strategy详解(附Stacking集成算法详解)
  2. 集成学习总结 & Stacking方法详解
  3. 机器学习ensemble之stacking方法及新手的坑
  4. ensemble
  5. 集成学习(Ensemble Learning)-bagging-boosting-stacking
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章