网站首页改版,网站开发项目背景,正在播网球比赛直播,做淘宝网站怎么弄Bagging#xff08;自举汇聚法#xff09;
Bagging#xff08;Bootstrap Aggregating#xff0c;自举汇聚法#xff09;是一种集成学习方法#xff0c;由Leo Breiman于1996年提出。它旨在通过结合多个模型来提高单个预测模型的稳定性和准确性。Bagging方法特别适用于减少…Bagging自举汇聚法
BaggingBootstrap Aggregating自举汇聚法是一种集成学习方法由Leo Breiman于1996年提出。它旨在通过结合多个模型来提高单个预测模型的稳定性和准确性。Bagging方法特别适用于减少高方差模型如决策树的过拟合问题从而提高模型的泛化能力。
工作原理
Bagging的核心思想是通过并行地训练多个独立的预测模型并将它们的预测结果进行汇总对于分类任务通常采用投票机制对于回归任务则采用平均以此来提高整体模型的预测性能。具体步骤如下 自助采样Bootstrap sampling从原始训练数据集中使用有放回的抽样方法随机选取N个样本形成一个新的训练集。这个过程重复K次生成K个不同的训练集。这些训练集之间可能有重叠的样本。 独立训练对每个生成的训练集独立地训练一个基预测模型。这些基模型可以是任何类型的模型但在实践中常用决策树。每个模型只看到数据的一部分子集这有助于模型学习到数据的不同方面。 汇总预测 对于分类问题最终的预测结果通常是通过投票机制得到的即选择出现次数最多的类别标签作为最终预测。对于回归问题最终的预测结果是通过计算所有单个模型预测值的平均值得到的。
优点
减少方差Bagging通过构建多个模型并汇总它们的预测结果可以有效减少模型的方差降低过拟合风险。提高鲁棒性即使基模型的性能不是很好通过Bagging也能提高整体模型的稳定性和准确性。易于实现并行化由于各个基模型的训练是相互独立的因此Bagging方法很容易进行并行化处理提高计算效率。灵活性Bagging方法可以与各种类型的预测模型结合使用增加了方法的通用性。
应用场景
Bagging方法广泛应用于各种机器学习任务中尤其是那些模型容易受到过拟合影响的场景。随机森林Random Forest就是一种基于决策树和Bagging原理的集成学习算法它在多个领域内都表现出了优异的性能如金融风险评估、医学诊断、图像识别等。此外Bagging技术也适用于提升那些本身就表现不错但希望进一步提高准确度的模型性能。
#codingutf-8
#BaggingClassifier.py
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.ensemble import BaggingClassifier# 加载葡萄酒数据集
wine load_wine()
X, y wine.data, wine.target# 划分训练集与测试集
X_train, X_test, y_train, y_test \train_test_split(X, y, stratifyy, random_state0)# 创建基本分类模型对象
gnb_clf GaussianNB()# 创建集成学习器
bc BaggingClassifier(gnb_clf, n_estimators20,max_samples0.5, bootstrapTrue,random_state0)
# 训练模型
bc.fit(X_train, y_train)
print(训练集准确率,bc.score(X_train,y_train),sep)
print(测试集准确率,bc.score(X_test,y_test),sep)
print(测试集前三个样本的预测标签,bc.predict(X_test[:3]))
print(测试集前三个样本的真实标签,y_test[:3])
print(测试集前三个样本的标签预测概率\n,bc.predict_proba(X_test[:3]),sep)