集成算法 — 简介 + 决策树(Python3.6实现)

集成算法简介

集成算法通过在数据上构建多个弱评估器,汇总所有弱评估器的建模结果,以获取比单个模型更好的回归或分类表现,集成算法主要分为3种:Bagging(减小方差)、Boosting(减小偏差)或stacking(改进预测)。

袋装法(Bagging)的原理是一次性建立多个平行独立的弱评估器,每个弱评估器的权重都一样,分类问题通过投票决定最终结果,回归问题通过求弱评估器的平均值决定。袋装法中最著名的算法是随机森林RandomForest。

提升法(Boosting)的原理是通过按先后顺序构建弱评估器,经过多次迭代逐渐累积多个弱评估器,每个弱评估其的权重不同,最终结果由多个弱评估器乘以其权重的加和所决定。提升法的算法包括Adaboost和梯度提升树等,XGBoost由梯度提升树发展而来。

弱评估器一般为KNN、朴素贝叶斯、决策树、Logistic回归等。

泛化误差是衡量一个模型推广能力的标准,泛化误差大表示模型在预测测试数据集的时候效果不好。模型太简单会发生欠拟合,模型太复杂会发生过拟合,欠拟合和过拟合都会使泛化误差增大。
在这里插入图片描述
泛化误差 = 方差 + 偏差 + 不可计算的误差

偏差:模型的预测值与真实值之间的差异。在集成算法中,每个基评估器都会有自己的偏差,集成评估器的偏差是所有基评估器偏差的均值。模型越精确,偏差越低。

方差:反映的是模型每一次输出结果(每个模型的预测结果结果)与模型预测值的平均水平(多个模型预测结果的平均值)之间的误差,衡量模型的稳定性。模型越稳定,方差越低。

在传统机器学习算法里面,集成算法对真实分布拟合效果较为理想,可用于分类也可用于回归,在深度学习还没有大行其道之前,集成算法在各种竞赛大放异彩。

决策树

决策树算法简介
集成算法大部分选择的弱分类器都是决策树,所以在讲集成算法之前,我们先来了解决策数。决策树根据其用法不同分为分类树和回归树。决策树主要由根节点、内部节点、叶子结点组成。其算法主要有ID3算法(信息熵和信息增益)、CART算法(Gini系数)等。确定节点时,取信息熵最小,信息增益最大,Gini系数最小的特征为节点。

调用模型:分类树

from sklearn import datasets  #用sklearn自带的数据集
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

iris = datasets.load_iris() #iris数据集的详细解释请参考之前我写的KNN分类算法博文
iris_x = iris.data
iris_y = iris.target

x_train, x_test, y_train, y_test = train_test_split(iris_x, iris_y, test_size = 0.3)
#划分训练集和测试集,test_size = 0.3是测试数据占总数据的30%

clf = DecisionTreeClassifier(criterion = 'entropy', max_depth = 4, random_state = 1) 
#criterion = 'entropy'表示采用信息增益算法, max_depth = 4表示树的深度, random_state = 1每次建模取的结果相同,如果不设置数值,每次建模取的结果不同

clf.fit(x_train
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值