【机器学习算法】——决策树之集成学习:Bagging、Adaboost、Xgboost、RandomForest、XGBoost

集成学习

**集成学习(Ensemble learning)**是机器学习中近年来的一大热门领域。其中的集成方法是用多种学习方法的组合来获取比原方法更优的结果。
使用于组合的算法是弱学习算法,即分类正确率仅比随机猜测略高的学习算法,但是组合之后的效果仍可能高于强学习算法,即集成之后的算法准确率和效率都很高。

三个臭皮匠,赛过诸葛亮!!!以弱搏强,就是集成学习!
在这里插入图片描述
主要方法包括:

  • Bagging
  • Boosting
  • Stacking

Stacking方法(知识蒸馏)

==Stacking方法(知识蒸馏)==是指训练一个模型用于组合其他各个模型。

  • 先训练多个不同的模型,然后把训练得到的各个模型的输出作为输入来训练一个模型,以得到一个最终的输出。
  • 原理:将多个不同模型的预测结果作为新的特征,输入到一个或多个元模型(meta-learner)中进行训练。
    在这里插入图片描述

装袋法(Bagging)

装袋法(Bagging)又称为Bootstrap Aggregating, 是通过组合多个训练集的分类结果来提升分类效果
原理:对原始数据集进行多次有放回的抽样(bootstrap sampling),生成多个不同的训练数据集。
装袋法由于多次采样,每个样本被选中的概率相同,因此噪声数据的影响下降,所以装袋法太容易受到过拟合的影响。
【[数据挖掘Python] 26 集成学习 1 bagging算法 BaggingClassifier 个人银行贷款数据】

Bagging算法就是用多个弱分类器(CART)对划分的不同数据集进行分类,对于弱分类器的结果进行投票或者加权得到最终的结果。

Bagging对鸢尾花数据集进行分类

鸢尾花数据集是4个类别。

  1. 导入数据集
  2. 对数据集进行划分:· KFold函数进行K折交叉验证
  3. 创建CART决策树:
cart = DecisionTreeClassifier(criterion='gini', max_depth=3)
cart_result = cart.fit(X, Y)# 训练决策树模型
  1. 利用CART模型作为基决策器生产Bagging模型:
    可以设置基决策器的数量n_estimators,但不是越多越好哦!
model = BaggingClassifier(estimator=cart, n_estimators=100, random_state=seed)
result = cross_val_score(model, X, Y, cv=kfold)
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets

# 1.获取数据
iris = datasets.load_iris()
X = iris.data
Y = iris.target
seed = 42

# 创建K折交叉验证,设置分割数为10,打乱数据,设置随机种子
kfold = KFold(n_splits=10, shuffle=True, random_state=seed)

# 2.构建模型
# 创建决cart模型基础模型,设置使用基尼系数作为分裂标准,树的最大深度为3
cart = DecisionTreeClassifier(criterion='gini', max_depth=3)
cart_result = cart.fit(X, Y)# 训练决策树模型

result = cross_val_score(cart_result, X, Y, cv=kfold)# 使用交叉验证计算决策树模型的分数
print("CART树结果:", result.mean
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值