集成方法-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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章