Blending在集成的过程中只会用到validation set的数据,对数据实际上是一个很大的浪费。(stacking就是对这个问题的改进?)
Blending vs. Stacking
Blending 优点:
- 比stacking简单(不用k-fold cross validation来获得stacker feature)
Blending 缺点 - 使用了很少的数据(划分hold-out作为测试集,并非cv)
- blender可能会过拟合(其实大概率是第一点导致的)
- stacking使用多次的CV会比较稳健
相比于Bagging与Boosting的集成方式,Blending和Stacking的方式更加简单和直观,且效果还很好。
它(Stacking)可以帮你打败当前学术界性能最好的算法
啊真的吗,我要试试,试试就试试
- 将所有data set分成 training set和testing set(training 10,000行,testing 2,500行)。training的10,000进行5-fold cross validation – 用 8,000 做training,2,000做validation。
- 每次验证 – 用 8,000 train一个模型,用这个模型对valination的2,000条数据进行验证(得到2,000条数据)