目录

一、实验内容
- 熟知集成学习方法的概念和基本算法思想。
- 掌握装袋法的算法原理。
- 掌握装袋法的设计及Python实现。
二、算法原理
1、算法思想
集成方法是用多种学习方法的组合来获取比原方法更优的结果。使用组合的算法是弱学习方法,但是组合之后的效果还是可能会高于强学习算法。
2、算法原理
套袋法原理是通过多个训练集的分类结果来提升分类效果。
3、算法分析
假设有一个大小为n的训练样本集S,装袋法从样本集S中多次放回采样取出大小为n1(n1<n)个训练集,对于每个训练集Si,均选择特定的学习算法(应用在决策树分类中即为CART算法等决策树算法),建立分类模型。
对于新的测试样本,所建立的m个分裂模型将返回m个预测分类结果,装袋法构建的模型最终返回的结果将是这m个预测结果中占多数的分类结果。
三、源程序代码
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
Y = iris.target
seed = 42
kfold = KFold(n_splits=10, random_state=seed, shuffle=True)
cart = DecisionTreeClassifier(criterion='gini',max_depth=2)
cart = cart.fit(X, Y)
result = cross_val_score(cart, X, Y, cv=kfold)
print("CART树结果:",result.mean())
model = BaggingClassifier(base_estimator=cart, n_estimators=100, random_state=seed)
result = cross_val_score(model, X, Y, cv=kfold)
print("装袋法提升后结果:",result.mean())
四、运行结果及分析

五、实验总结
通俗的理解,装袋法Bagging就是n道选择题,多个学渣一起做, 每个人随机挑选一部分题目来做,最后将所有人的结果进行汇总,然后根据将票多者作为最后的结果。
版权声明:本文为qq_50942093原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。