机器学习经典算法:集成学习策略

关于集成学习的总结(一) 投票法 最近在写那个完整的机器学习项目博客时候,我本来打算用一篇博客来写的。结果发现要写的越来越多。而且最关键的是,以前以为有些地方理解了,其实并没有理解。大概这就是写博客记笔记的好处吧。。。可惜我上高中初中那会,从来都没记过233333   这篇集成学习的总结呢,将结合sklearn 的运用说一说有关集成学习的一些东西,包括bagging、boosting、stacking和其他一些算法,我们会重点... 阅读详情

正文

集成学习(Ensemble Learning) : 指的是一种学习方法,它的思想在于通过采用投票的方式综合多个分类回归模型的结果以提高分类回归的准确率。这种方法与我们平时通过听取许多他人意见来决策的过程是一致的,综合更多的有效信息往往才能更好的对事物进行判断。

1、scikit-learn 下的集成学习接口(Voting Classifier)

集成学习根据统计投票结果的时候,根据是否考虑投票权重分成两类:

  • hard voting, 每个分类器都为产生一个预测结果,最终新样例的预测结果为得票数最高的类别。

from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC

from sklearn.ensemble import VotingClassifier
voting_clf = VotingClassifier(estimators= [
    ('logistic_clf',LogisticRegression()),
    ('DT_clf',DecisionTreeClassifier()),
    ('svm_clf',SVC())
],voting= 'hard')

### Usage
from sklearn import datasets
X = datasets.load_iris().data[:,2:]
y = datasets.load_iris().target
voting_clf.fit(X,y)
  • soft voting , 软投票分类器根据不同模型给出的所有预测的概率对输入数据进行分类,这个预测概率值对应的就是每个分类器给每个类别票权,最终预测结果为得票权最高的类别。这种基于概率做出的集成投票结果相比硬投票的结果准确率上会高一些。但使用 soft voting 时前提要求每个预测模型都能够估计预测结果的概率。

from sklearn.ensemble import VotingClassifier
voting_clf = VotingClassifier(estimators= [
    ('logistic_clf',LogisticRegression()),
    ('DT_clf',DecisionTreeClassifier(random_state=666)),
    ('svm_clf',SVC(probability=True)) ### SVM 模型默认不支持计算概率结果,开启概率计算会增加运算开销
],voting= 'soft')
voting_clf.fit(X,y)
voting_clf.score(X,y)

2、集成学习的子决策模型

统计中的 大数定律 提出在随机试验中,尽管每次的结果是不一样的,但进行大量的重复试验后,所有随机试验结果的平均值总会接近于一个确定的值。也就是在 偶然事件的大量重复出现背后,往往呈现的是几乎必然的规律。大量的重复试验实则在捕获这个必然。

所以在集成学习的投票决策中,要想最终投票的结果足够可靠,根据大数定律的理论只有从足够多(上百上千上万)的投票基础上选出的最终结果才具有足够高的可信度。但从算法类型数量的有限程度上来说,投票者的数量远远不够用来捕捉 必然。所以为了尽可能 增加集成学习的投票者数量,一个可行的方案是创建更多的 子模型 来集成更多子模型的意见。

2.2 创建子模型方法

集成学习中参与决策的子模型必须是具有差异性的(否则不满足随机试验的原则),为了使创建的子模型具有这种随机性(任意两子模型是不同的),可以通过只让每个子模型只看样本集的一部分数据来训练得到。根据大数定律,尽管由片面数据训练得到的单个子模型预测准确率较低,但只要子模型的准确率基本能高于随机概率,随着子模型数量的增加,最终集成学习的整体准确率就会逐渐提高:

假设每个子模型的准确率平均约为 51%51\%51%,这个概率略高于随机决策概率(50%50\%50%)
集成学习只有1个子模型,整体准确率: C110.511=0.51C^{1}_{1} 0.51^1 = 0.51C11​0.51

集成学习原理小结     集成学习(ensemble learning)可以说是现在非常火爆的机器学习方法了。它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域都可以看到集成学习的身影。本文就对集成学习的原理做一个总结。 1. 集成学习概述     从下... 阅读详情

相关推荐

集成学习算法总结----Boosting和Bagging

1、集成学习概述1.1 集成学习概述集成学习在机器学习算法中具有较高的准去率,不足之处就是模型的训练过程可能比较复杂,效率不是很高。目前接触较多的集成学习主要有2种:基于Boosting的和基于Bagging,前者的代表算法有Adaboost、GBDT、XGBOOST、后者的代表算法主要是随机森林。1.2 集成学习的主要思想 集成学习的主要思想是利用一定的手段学习出多个分类器,而且这多个分类器要求

哆啦A梦的博客 2万+

从弱到强的逆袭之路:深度解析 Boosting 算法家族【集成学习系列(五)串行策略:Boosting】

从 Boosting 的串行训练策略,到 AdaBoost 的自适应权重调整,再到 Gradient Boosting 的梯度优化,这些算法为机器学习带来了强大的性能提升方案。通过 Scikit-learn 库的便捷接口,我们能够快速将这些算法应用于实际项目。在面试和实践中,深入理解它们的原理、区别与参数调整方法,将帮助我们在机器学习领域游刃有余。无论是面对复杂的分类任务,还是高精度的回归预测,Boosting 算法家族都能成为我们手中的有力武器。

weixin_73784131的博客 947

机器学习强基计划10-1:为什么需要集成学习?核心原理是什么?

集成学习是一种通过结合多个学习器来获得比单一学习器显著优越泛化性能的算法框架,本文梳理和推导集成学习的基本概念

FRIGIDWINTER的博客 4067

【python 机器学习】集成学习基本介绍

在机器学习中,集成学习是一种通过组合多个弱学习器(如决策树、支持向量机等)来构建一个强学习器的方法。集成学习的主要思想是:通过结合多个模型的预测,能够比单一模型更好地进行预测,尤其在复杂的任务中具有更强的泛化能力。今天,我们将从简单的角度介绍集成学习的基本概念、原理和常见算法。

m0_62599305的博客 949

从气象预报到物流规划:多尺度地理加权回归(MGWR)在ArcGIS Pro中的实战应用

本文深入探讨了多尺度地理加权回归(MGWR)在ArcGIS Pro中的实战应用。通过对比传统GWR模型,MGWR的核心优势在于能识别不同解释变量的独特空间作用尺度,有效解决空间异质性问题。文章结合气象预报误差修正与物流网点选址两个案例,详细讲解了从数据准备、参数设置、带宽优化到结果解读的全流程,为地理数据分析师处理复杂空间数据提供了强大工具。

egg99的博客 1029

Cisco Packet Tracer 7.3免登录技巧:3种方法快速跳过注册界面(附详细截图)

本文针对Cisco Packet Tracer 7.3启动时遇到的登录界面问题,提供了三种合法高效的解决方案。详细介绍了如何利用官方访客模式快速启动、注册思科账号实现一劳永逸登录,以及通过调整本地安装配置优化启动流程,帮助网络学习者与备考者绕过繁琐步骤,快速进入实验环境。

weixin_29305337的博客 738

【创作赢红包】Gurobi学术版证书更新与Python环境配置全攻略

本文详细解析了Gurobi学术版证书过期后的完整更新流程与Python环境配置方法。从彻底清理旧版残留、手把手注册获取新许可证,到软件安装、证书激活,最后重点讲解如何将gurobipy接口正确配置到Python的site-packages目录,并提供了常见问题排查方案,帮助用户高效解决证书与配置难题。

efc1234567的博客 612

A Mathematical Framework for Transformer Circuits—(一)

transformer数学理解理论

qq_42208244的博客 2660

【MERRA-2数据集】M2I1NXASM (5.12.4) 和 M2I1NXINT (5.12.4)概述

M2I1NXASM (5.12.4) 和 M2I1NXINT (5.12.4)概述

WW、forever的博客 680

【Simulink教程案例19】基于simulink的扩频通信系统建模与仿真

扩频是一种应用于数字调制信号的调制技术,可以提高传输信号的带宽。扩频通信具有抗干扰能力强,扩频增益越大,抗干扰能力越强。而且扩频通信具有很强的保密性,扩频后信号近似白噪声,功率谱密度也很低。扩频通信可用于多址通信。扩频调制有如下三个特点:① 扩频后信号的带宽远大于信号所需的带宽② 使用扩频码进行扩频调制,扩频码与信号中的数据相互独立③ 在接收端,通过将接收信号与扩频码的同步副本进行相关,实现解扩。

FPGA/MATLAB学习教程/源码/项目合作开发 2196

EPLAN 电气制图(六):结构盒与设备管理器核心概念(基础知识选看)

结构盒是 EPLAN 中用于标识元件安装位置的逻辑容器,非实际设备或黑盒,仅用于原理图中划分功能区域或物理位置(如 “柜内”“柜外”)。标识符设置:在 “显示设备标识符” 中输入位置代号(如 “+ 柜外”),完整格式为 “= 高层代号 + 位置代号”;筛选与定位:通过 “筛选器” 按类别(如电机、接触器)快速查找设备,右键 “转到(图形)” 可高亮定位图纸中的元件;设备保护:重要设备可启用保护(【项目数据】→【设备】→【启用设备保护】),防止误删除(显示橙色圆圈标记)。

电工 1056

RISC-V CPU设计(三)---多周期CPU的设计与实现

基本情况 本多周期CPU支持RV32I指令集(fence,ecall,ebreak除外),已通过部分指令的测试,如代码有bug,欢迎指出。 模块划分 代码将CPU划分为以下几个模块: 1.控制单元:ControlUnit 用于产生控制信号,是CPU的大脑,指挥中枢。 2.分支决策单元:BranchUnit 用于决定B型指令是否发生跳转 3.立即数单元:ImmUnit 用于从指令中解析出立即数. 4.寄存器堆:RegisterFile RISC-V的32个寄存器,其中x0寄存器恒为0,不可更改。 5.指令存储

qq_40268672的博客 5541

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 机器学习经典算法:决策树模型(Decision Tress)
倪桦
博客等级 码龄4年 5397粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

倪桦

有帮助的话请杯咖啡吧,谢谢!

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

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

打赏作者

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

抵扣说明:

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

余额充值