【Python机器学习】利用AdaBoost元算法提高分类性能——基于AdaBoost的分类

news2024/9/20 18:48:40

一旦拥有了多个弱分类以及其对应的alpha值,进行测试就变得非常容易了。现在,要将弱分类器的训练过程从程序中抽出来,然后应用在某个具体的实例上。每个弱分类器的结果以其对应的alpha值作为权重。所有这些弱分类器的结果加权求和就得到了最后的结果。

下面,用代码具体实现:

def adaClassify(datToClass,classifierArr):
    dataMatrix=mat(datToClass)
    m=shape(dataMatrix)[0]
    aggClassEst=mat(zeros((m,1)))
    for i in range(len(classifierArr)):
        classEst=stumpClassify(dataMatrix,classifierArr[i]['dim'],classifierArr[i]['thresh'],classifierArr[i]['ineq'])
        aggClassEst=aggClassEst+classifierArr[i]['alpha']*classEst
        print(aggClassEst)
    return sign(aggClassEst)

上述的adaClassify()函数就是利用训练出的多个弱分类器进行分类的函数。该函数的输入是由一个或多个待分类样例datToClass以及多个弱分类器组成的数组classifierArr。函数adaClassify()首先将datToClass转换成了一个NumPy矩阵,并且得到datToClass中的待分类样例的个数m。然后构建一个0列向量aggClassEst,这个列向量与adaBoostTrainDS()中的含义相同。

接下来,遍历classifierArr中的所有弱分类器,并基于stumpClassify()对每个分类器得到一个类别的估计值。在前面构建单层决策树时,stumpClassify()在所有可能的树桩值上进行迭代来得到具有最小加权错误率的单层决策树。但在这里我们只是简单地应用了单层决策树。输出的类别估计值乘上该单层决策树的alpha权重然后累加到aggClassEst上,就完成了这一过程。最后,程序返回aggClassEst的符号,即如果aggClassEst大于0则返回+1,而如果小于0则返回-1。

实际运行:

datArr,labelArr=loadSimpData()
classifierArr=adaBoostTrainDS(datArr,labelArr,30)
print(adaClassify([0,0],classifierArr))

可以发现,随着迭代的进行,数据点[0,0]的分类结果越来越强。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1983174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ElementUI元件库在Axure中使用

一、ElementUI元件库介绍 ElementUI 是一套为开发者、UI/UX设计师和产品经理准备的基于Vue 2.0的桌面端组件库。它以其优雅的设计和丰富的组件,极大地提升了Web应用的开发效率与用户体验。ElementUI的组件设计精致且符合现代UI规范,包括按钮、表单、弹窗…

判断用户是否在pwa环境中打开运行?(已安装的 PWA 与未安装的 PWA 网站之间有什么区别?)

前言: 👉vue3tsvite项目中使用vite-plugin-pwa搭建 PWA 项目,以及如何处理pwa安装图标的显示隐藏 👉pwa在iframe下能否显示,以及在iframe下相关问题解析 如何判断用户是否在pwa环境中运行? 根据pwa配置的display-mo…

Captive Portal验证原理

物联网开发系列:物联网开发之旅① WiFi to Ethernet: 树莓派共享无线连接至有线网口,自动通过Captive Poartal验证物联网开发番外篇之 Captive Portal验证原理 文章目录 工作原理技术细节登录页面的实现自动化登录 登录界面的原理主要涉及到Web认证&…

想用matlab画一个3Y轴x-y图,如何实现??

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

Windows 7和Windows10系统如何关闭重复进入Windows启动管理器的现象?

目录 背景: 方法一:使用命令提示符关闭Windows管理器 方法二:通过系统属性来关闭WIndows启动管理器 两种方法的总结: 背景: Windows 启动管理器(Windows Boot Manager)是 Windows 操作系统中的一个关键组件,它负责在系统启动时管理和引导…

千字解读《2024年前瞻中国AI大模型场景应用趋势蓝皮书》!直击大模型应用五大挑战:最大痛点在于技术面临“卡脖子”风险

7月30日,由前瞻产业研究院携手华为云、首钢基金、深圳上市公司协会联合发起,深圳市政府指导的“深圳产业会客厅——2024人工智能产业对接活动”圆满举办。 会上,前瞻产业研究院院长徐文强以“中国AI发展的必然与挑战”为题,深度剖…

《python语言程序设计》2018版第6章第25(反素数逆向拼写素数)是指一个将其逆向拼写,我不懂反素数公式看不懂。放弃了。

首先使用之前的确认素数的函数is_prime来进行素数的识别 我在网上看到来一个反素数的公式。在这个公式中我还是不能理解,这些数学问题。 我先把对数学的理解放到一边。 之前的版本我是采用对整数化的素数分成二个或三个的位数。然后经过倒序来显示。 I del before …

GooLeNet原理

一、GooLeNet网络结构 1*1卷积的作用: 实现跨通道的交互和信息整合、卷积核通道数的降维和升维,减少网络参数 全局平均池化层(GAP) 优点:抑制过拟合、GAP使特征图输入尺寸更加灵活 缺点:信息丢失、特征丰富性、梯度信息、复杂…

小米澎湃OS 天气-通用版 V15.0.11.0 丨适配大部分 机型

小米澎湃OS 天气-通用版 APP ,版本号 V15.0.11.0,基于最新版本提取,纯 64 位架构。非常纯净! 「小米天气通用版 V15.0.11.0.apk」 链接:https://pan.quark.cn/s/e16548df0567

如何实现pxe安装部署

此实验环境:rhel7主机 一、kickstart自动化安装脚本 1、安装可视化图形 [rootlocalhost ~]# yum group install "Server with GUI" 2、关闭vmware dhcp功能(编辑-虚拟网络编辑器) 3、httpd 1、安装httpd服务 [rootlocalhost …

【YOLOv5/v7改进系列】引入卷积块注意力模块CBAM注意力机制

一、导言 CBAM(Convolutional Block Attention Module)是一种简单而有效的注意力机制模块,旨在增强卷积神经网络(CNN)的表现力。该模块通过引入两个独立的注意力机制——通道注意力和空间注意力——来适应性地精炼特征…

大模型学习笔记 - LLM 参数高效微调技术

LLM 参数高效微调技术 LLM 高效微调技术 Adapter Tuning (2019 google,在Transformer 结构中嵌入adapter,tuning on BERT)Prefix Tuning (2021.01 斯坦福,通过virtual token构造连续型隐式prompt)Prompt Tuning(2021.04,google)P…

CSS学习 02 利用鼠标悬停制造按钮边框的渐变方向变化

效果 页面背景为深灰色,使用Karla字体。容器内的按钮居中显示,按钮有一个彩色渐变的边框。按钮的背景为黑色,文字为浅灰色。当鼠标悬停在按钮边框上时,边框的渐变方向变化,按钮文字变为白色,并且按钮内边距…

类和对象——日期类实现

目录 前言: 一、构造 二、运算符重载 三、与-- 四、实现与 操作 4.1 实现 操作 4..2 实现操作 4.3 效率分析 五、实现 - 与- 操作符 六、日期减日期 七、流插入和流提取 八、完整代码 Date.h Date.cpp 前言: 我们之前已经学习过了类和对象&…

交换机-端口安全

端口安全 1 概述 端口安全(Port Security)通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC、安全静态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。 2 …

力扣热题100_二叉树_94_二叉树的中序遍历

文章目录 题目链接解题思路解题代码 题目链接 94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root [] 输…

全面提升PDF编辑效率,2024年五大顶级PDF编辑器推荐!

在这个数字化飞速发展的时代,PDF文件已经成为我们日常工作和学习中不可或缺的一部分。然而,面对PDF文件的编辑和管理,许多人仍然感到困惑和无助。今天,就让我们一起探索几款高效、易用的PDF编辑器,它们将彻底改变你的工…

抖音短视频素材网站有哪些?做抖音的几个素材站分享

随着短视频平台尤其是抖音的飞速发展,更多的内容创作者正加入到这一潮流中,无论是生活分享、才艺展示还是知识传播,一个吸引人的视频都离不开优质的素材。本文将为追求流行的抖音视频创作者介绍几个寻找热门素材的优选平台,帮助您…

c语言-编译预处理

9 编译预处理 预处理命令 一、预处理命令的作用 -- 在编译之前,需要执行的命令 -- 编译预处理是在对源程序正式编译之前的处理,如inlcude先替换后计算 二、预处理命令 1、#include -- 包含包括 (1) #include&l…

考研数学|张宇18讲太多太难,强化要不要换武老?

面对张宇18讲的难度,考虑是否更换辅导资料是一个值得深思的问题。首先,要认识到每个人的学习风格和需求是不同的。 张宇18讲可能因其深度和广度而受到一些考生的青睐,但同时也可能因其难度让部分考生感到挑战重重。 在决定是否更换辅导资料…