1. 程式人生 > >Stacking方法詳解

Stacking方法詳解

整合學習方法主要分成三種:bagging,boosting 和 Stacking。這裡主要介紹Stacking。

 首先來看一張圖。

 

 

 

1、首先我們會得到兩組資料:訓練集和測試集。將訓練集分成5份:train1,train2,train3,train4,train5。

2、選定基模型。這裡假定我們選擇了xgboost, lightgbm 和 randomforest 這三種作為基模型。比如xgboost模型部分:依次用train1,train2,train3,train4,train5作為驗證集,其餘4份作為訓練集,進行5折交叉驗證進行模型訓練;再在測試集上進行預測。這樣會得到在訓練集上由xgboost模型訓練出來的5份predictions,和在測試集上的1份預測值B1。將這五份縱向重疊合並起來得到A1。lightgbm和randomforest模型部分同理。

3、三個基模型訓練完畢後,將三個模型在訓練集上的預測值作為分別作為3個"特徵"A1,A2,A3,使用LR模型進行訓練,建立LR模型。

4、使用訓練好的LR模型,在三個基模型之前在測試集上的預測值所構建的三個"特徵"的值(B1,B2,B3)上,進行預測,得出最終的預測類別或概率。