集成学习 bagging
时间: 2023-07-19 17:23:34 浏览: 60
Bagging(Bootstrap Aggregating)是一种集成学习(Ensemble Learning)方法,它通过对训练集进行有放回的随机抽样(Bootstrap Sampling),得到多个子训练集,并使用每个子训练集分别训练出一个基模型(Base Model)。然后,对这些基模型的结果进行聚合,得到最终的预测结果。Bagging 主要用于降低基模型的方差(Variance),提高模型的泛化能力(Generalization)。
Bagging 的主要步骤如下:
1. 通过有放回的随机抽样,得到多个子训练集。
2. 对每个子训练集分别训练出一个基模型。
3. 对测试样本进行预测,得到多个基模型的预测结果。
4. 对多个基模型的预测结果进行聚合,得到最终的预测结果。
Bagging 的聚合方法可以是简单平均(Simple Average)、加权平均(Weighted Average)、投票(Voting)等等。
下面是一个使用 Bagging 进行分类的 Python 代码示例:
```python
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
# 构造基模型
base_model = DecisionTreeClassifier()
# 构造 Bagging 模型
bagging_model = BaggingClassifier(base_estimator=base_model, n_estimators=10)
# 训练模型
bagging_model.fit(X_train, y_train)
# 对测试集进行预测
y_pred = bagging_model.predict(X_test)
```
在上面的代码中,我们使用决策树(Decision Tree)作为基模型,构造了一个 Bagging 分类器。其中,`base_estimator` 参数表示基模型的类型,`n_estimators` 参数表示子模型的数量。然后,我们使用训练集对模型进行训练,最后对测试集进行预测。