bagging算法python实现
时间: 2023-10-20 19:07:14 浏览: 130
Bagging(Bootstrap Aggregating)算法是一种集成学习方法,可以用来提高模型的泛化能力。它的核心思想是,从原始数据中通过有放回的重采样方式产生多个样本集,然后分别基于这些样本集训练出多个模型,最终将这些模型的预测结果进行平均或投票得到最终结果。
在Python中,可以使用Scikit-learn库实现Bagging算法。以下是一个简单的代码示例:
```python
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建决策树分类器
tree = DecisionTreeClassifier()
# 创建Bagging分类器
bagging = BaggingClassifier(base_estimator=tree, n_estimators=10, random_state=42)
# 拟合模型
bagging.fit(X_train, y_train)
# 评估模型
print("Train Accuracy:", bagging.score(X_train, y_train))
print("Test Accuracy:", bagging.score(X_test, y_test))
```
在这个示例中,我们使用Iris数据集创建了一个Bagging分类器。我们首先创建了一个基于决策树的分类器,然后将其作为参数传递给BaggingClassifier类的base_estimator参数。我们还指定了n_estimators参数,即模型的数量,以及random_state参数,用于控制模型的随机性。
最后,我们拟合模型并评估其性能。通过运行这段代码,您应该能够看到训练和测试准确度的输出。
阅读全文