Bagging(Bootstrap Aggregating)是一种集成学习方法,旨在提高模型的稳定性和泛化能力。它通过随机从训练集中有放回地抽取样本,然后训练多个独立的基本模型,最终通过投票或取平均来融合这些模型的预测结果。随机样本抽取和多模型组合有助于减小模型的方差,提高整体性能。
以下是使用 Python 的 scikit-learn
库实现 Bagging 的示例代码。我们将使用决策树作为基本模型:
首先,确保已安装 scikit-learn
库,可以通过以下命令安装:
1 pip install scikit-learn
接下来,使用下面的代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 from sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble import BaggingClassifierfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.metrics import accuracy_scoreiris = load_iris() X, y = iris.data, iris.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2 , random_state=42 ) base_model = DecisionTreeClassifier(random_state=42 ) bagging_model = BaggingClassifier(base_model, n_estimators=10 , random_state=42 ) bagging_model.fit(X_train, y_train) y_pred = bagging_model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print ("Bagging Accuracy:" , accuracy)
在上述代码中,我们使用了 load_iris
函数加载鸢尾花数据集,并将数据集划分为训练集和测试集。然后,我们创建了一个 Bagging 分类器,基本模型选用了决策树。通过训练 Bagging 模型,然后在测试集上进行预测,并计算了预测的准确率。
通过调整参数(如基本模型、基本模型数量等),您可以进一步优化 Bagging 模型的性能。请注意,Bagging 算法也适用于其他基本模型,例如随机森林中的决策树、KNN 等。