上海企业网站优化公司,百度手机助手安卓版,确山网站建设,优化设计三年级下册语文答案1.原理
Bagging [Breiman, 1996a] 是井行式集成学习方法最著名的代表.从名字即可看出#xff0c;它直接基于自助采样法(bootstrap sampling)。给定包含m 个样本的数据集#xff0c;我们先随机取出一个样本放入采样集中#xff0c;再把该样本放回初始数据集#xff0c;使得…1.原理
Bagging [Breiman, 1996a] 是井行式集成学习方法最著名的代表.从名字即可看出它直接基于自助采样法(bootstrap sampling)。给定包含m 个样本的数据集我们先随机取出一个样本放入采样集中再把该样本放回初始数据集使得下次采样时该样本仍有可能被选中这样经过m次随机采样操作我们得到含m 个样本的采样集初始训练集中有的样本在采样集里多次出现有的则从未出现初始训练集中约有63.2%的样本出现在来样集中。
照这样我们可采样出T 个含m 个训练样本的采样集然后基于每个采样集训练出一个基学习器再将这些基学习器进行结合.这就是Bagging 的基本流程.在对预测输出进行结合时 Bagging 通常对分类任务使用简单投票法对回归任务使用简单平均法.若分类预测时出现两个类收到同样票数的情形则最简单的做法是随机选择一个也可进一步考察学习器投票的置信度来确定最终胜者。其步骤如下
1.对于给定的训练样本S,每轮从训练样本S中采用有放回抽样(Booststraping)的方式抽取M个训练样本,共进行n轮得到了n个样本集合需要注意的是这里的n个训练集之间是相互独立的。
2.在获取了样本集合之后每次使用一个样本集合得到一个预测模型对于n个样本集合来说我们总共可以得到n个预测模型。
3.如果我们需要解决的是分类问题那么我们可以对前面得到的n个模型采用投票的方式得到分类的结果对于回归问题来说我们可以采用计算模型均值的方法来作为最终预测的结果。
2.代码
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier# 加载鸢尾花数据集
iris load_iris()
X iris.data
y iris.target# 划分训练集和测试集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 创建决策树分类器
base_estimator DecisionTreeClassifier()# 创建Bagging分类器
clf BaggingClassifier(base_estimatorbase_estimator, n_estimators100, random_state42)# 训练模型
clf.fit(X_train, y_train)# 预测测试集
y_pred clf.predict(X_test)# 打印预测结果
print(y_pred)我们使用了鸢尾花数据集这是一个常用的多类别分类数据集。我们首先加载数据然后划分为训练集和测试集。然后我们创建一个决策树分类器作为基学习器并创建一个Bagging分类器使用训练集对其进行训练。最后我们使用训练好的模型对测试集进行预测并打印出预测结果。
BaggingClassifier的参数base_estimator表示基学习器n_estimators表示基学习器的数量这些参数都可以根据需要进行调整。