在提到ensemble的时候,经常会有bagging或者stacking这两种合成方法?
严格上来,它们有什么区别?
2个回答
关于bagging,可以看看这个,bagging是什么意思
说说区别
1. bagging每次是用部分随机数据,然后训练出一个模型。以此反复训练同类型模型(比如多个决策树)。就会多个同类型模型,然后把这些模型的预测结果取均值,就得到了bagging后模型的预测结果。
2. stacking是指训练了多个不同类型模型,比如一个knn,一个svm,一个decision tree,最后把三个预测结果取均值,得到最后的预测结果。
SofaSofa数据科学社区DS面试题库 DS面经感觉这两个词也经常混用的。没什么大的讲究吧。
bagging主要强调的是bootstrap的aggregation,一般是指用整个数据集中部分随机样本训练出多个同类型的模型,然后将这些模型叠加在一起(一般简单的处理就是取均值)。常见的比如tree bagging,random forest,bagging of LR。
stacking一般是指用数据集训练出多个不同类似的模型,然后将这些模型的结果组合在一起(对它们的结果取均值,或者加权平均)。