集成学习(Ensemble Learning)

集成学习(Ensemble Learning)详解

集成学习是一种机器学习方法,它结合了多个模型的预测结果以提高整体性能。这种方法的基本思想是,多个模型一起工作比单个模型单独工作更有效。

集成学习的核心概念

1. 弱学习器(Weak Learner)

  • 弱学习器是指单独性能只略好于随机猜测的模型。集成学习通过组合多个弱学习器来提升整体性能。

2. 强学习器(Strong Learner)

  • 强学习器是指具有高度准确性的模型。在集成学习中,多个弱学习器结合成一个强学习器。

集成学习的主要方法

1. Bagging(Bootstrap Aggregating)

  • 原理:通过在原始数据集上使用重采样(通常是有放回抽样)来创建多个子集,然后在每个子集上训练一个模型。

  • 代表算法:随机森林(Random Forest)。

  • 数学表示

    y ^ = 1 B ∑ b = 1 B f b ( x ) \hat{y} = \frac{1}{B} \sum_{b=1}^{B} f_b(x) y^=B1b=1Bfb(x)

    其中 B B B 是模型的数量, f b ( x ) f_b(x) fb(x) 是第 b b b 个模型的预测。

2. Boosting

  • 原理:顺序地训练模型,每个模型都试图纠正前一个模型的错误。

  • 代表算法:AdaBoost, Gradient Boosting。

  • 数学表示

    y ^ = ∑ b = 1 B α b f b ( x ) \hat{y} = \sum_{b=1}^{B} \alpha_b f_b(x) y^=b=1Bαbfb(x)

    其中 α b \alpha_b αb 是第 b b b 个模型的权重。

3. Stacking

  • 原理:训练多个不同的模型,然后使用一个新的模型来综合这些模型的预测。

  • 数学表示

    y ^ = f ( f 1 ( x ) , f 2 ( x ) , . . . , f B ( x ) ) \hat{y} = f\left(f_1(x), f_2(x), ..., f_B(x)\right) y^=f(f1(x),f2(x),...,fB(x))

    其中 f b ( x ) f_b(x) fb(x) 是基础模型的预测, f f f 是用于组合预测的模型。

集成学习的优势

  • 准确性:通常比单一模型更准确。
  • 鲁棒性:通过组合多个模型,减少了对特定模型偏差的依赖。
  • 泛化能力:通常具有更好的泛化能力,减少过拟合风险。

集成学习的关键在于结合多个模型,通过平均或投票等机制,提高对新数据的预测准确性。

代码

from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 加载Iris数据集
iris = load_iris()
X, y = iris.data, iris.target

# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 创建集成模型
# 随机森林
rf_clf = RandomForestClassifier(n_estimators=100, random_state=42)
rf_clf.fit(X_train, y_train)

# AdaBoost
ab_clf = AdaBoostClassifier(n_estimators=100, random_state=42)
ab_clf.fit(X_train, y_train)

# 在测试集上进行预测
rf

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

h52013141

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

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

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

打赏作者

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

抵扣说明:

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

余额充值