第1关:Bagging 分类器

# 导入相关库
from sklearn.ensemble import BaggingClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.datasets import load_iris
import numpy as np

# 下载数据集
iris = load_iris()
X = iris["data"]
y = iris["target"]

np.random.seed(0)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 创建 BaggingClassifier 对象
clf = BaggingClassifier(base_estimator=KNeighborsClassifier(), n_estimators=10, max_samples=0.5, max_features=0.5)

# 调用 fit 函数执行训练过程
clf.fit(X_train, y_train)

# 打印结果
print('训练集准确率:', accuracy_score(y_train, clf.predict(X_train)))
print('测试集准确率:', accuracy_score(y_test, clf.predict(X_test)))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用Python中scikit-learn库实现Bagging分类器的代码示例: ```python # 导入需要的库和数据集 from sklearn.datasets import load_iris from sklearn.ensemble import BaggingClassifier from sklearn.tree import DecisionTreeClassifier 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.3, random_state=42) # 构建决策树分类器 dtc = DecisionTreeClassifier() # 构建Bagging分类器 bagging = BaggingClassifier(base_estimator=dtc, n_estimators=10, random_state=42) # 训练Bagging分类器 bagging.fit(X_train, y_train) # 预测测试集结果 bagging_y_pred = bagging.predict(X_test) # 输出Bagging分类器的准确率 print("Bagging Classifier Accuracy:", bagging.score(X_test, y_test)) ``` 在上面的代码中,我们使用`load_iris()`函数加载鸢尾花数据集,并将其划分为训练集和测试集。然后,我们构建了一个决策树分类器,并将其作为基分类器传递给了`BaggingClassifier`。我们指定了`n_estimators`参数为10,表示使用10个基分类器进行Bagging。`random_state`参数指定了随机数生成器的种子,以确保结果的可重复性。 通过`fit()`方法训练Bagging分类器,并使用`score()`方法计算分类器的准确率,并输出结果。 Bagging分类器是一种集成学习算法,通过在原始数据集上进行有放回抽样来生成不同的训练数据集,从而训练多个不同的基分类器。最终分类结果是基分类器投票结果的加权平均值。Bagging分类器可以有效地减少方差,并提高模型的泛化能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YLTommi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值