Stacking集成学习方法笔记

最近在Kaggle上练习,所以对stacking方法做了一些了解,stacking的基本思路是通过将训练集分成多个部分,来达到对同一种机器学习算法产生多组不同参数的分类器。
这里简单的记录一下我对这个方法的理解。

举个简单的例子:

1.假设训练数据有500条,测试数据test有100条。stacking方法首先将这500条数据分成5份,标记为t1,t2,t3,t4,t5号数据,每份100条。

2.然后假设我们采用3种机器学习方法对数据分类,分别为方法A,方法B和方法C(这里的方法可以是逻辑回归,决策树,xgb等等)

3.stacking的方法完整流程是,对每一个算法ABC,使用t2 ~ t5训练,并用t1测试,结果保存在d1,同时对test进行预测,结果保存在td1
之后用t1,t3,t4,t5训练,用t2测试,结果保存在d2,同时也对test预测,结果保存在td2,以此类推得到d1d2d3d4d5以及td1td2td3td4td5

4.我们将每个算法的d1 ~ d5合并作,这样对每个算法有训练结果DADBDC,同时我们将每个算法的td1 ~ td5相加并计算均值,得到TATBTC

5.之后我们把DADBDC作为输入,用LR进行进一步的训练(也可以用其他的方法做第二层的学习),求出每个算法的权重,得到完整的模型。

6.最后我们可以利用得出的模型,将TA,TB,TC看做测试数据进行测试。

你可能感兴趣的:(Stacking集成学习方法笔记)