位置: IT常识 - 正文

基于MATLAB的随机森林分类(基于matlab的随机森林回归和交叉验证)

编辑:rootadmin
基于MATLAB的随机森林分类

推荐整理分享基于MATLAB的随机森林分类(基于matlab的随机森林回归和交叉验证),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:基于matlab的随机过程分析方法,基于matlab的随机过程案例建模,用matlab产生随机信号,matlab随机函数怎么用,matlab 随机,基于matlab的随机过程分析方法,基于matlab的随机地图生成算法,基于matlab的随机过程仿真,内容如对您有帮助,希望把文章链接给更多的朋友!

​          该分类器最早由Leo Breiman和Adele Cutler提出。 

         在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。 而 "Random Forests" 是他们的商标。 这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合 Breimans 的 "Bootstrap aggregating" 想法和 Ho 的"random subspace method"以建造决策树的集合。

​        我们都知道,在Python中,可以通过调用sklearn快速构造一个模型,但是我们如何在MATLAB中构建一个随机森林呢?本文将通过MATLAB的随机森林分类实例进行探讨。

step1:数据归一化处理

         集成学习算法对数值大小不敏感,树模型主要关心变量之间的分布和变量之间的概率分布,因此我们会发现,很多时候数据归一化与未归一化的的结果差别不大。但是,很多时候我们都把他进行归一化处理,因为这样可以降低计算机计算的难度,减少并行运算时间。我们可以使用mapminmax函数进行归一化处理。

step2:构建流程

采取有放回的抽样方式构造子数据集,保证不同子集之间的数量级一样(元素可以重复);利用子数据集来构建子决策树;将待预测数据放到每个子决策树中,每个子决策树输出一个结果;统计子决策树的投票结果,投票数多的就是随机森林的输出结果。

(1)从样本集中用 Bootstrap采样选出一定数量的样本,可以通过简单交叉验证进行划分训练集和测试机;

(2)从所有属性中随机选择K个属性,在K个属性中再选择出最佳分割属性作为节点创建决策树;

(3)重复以上两步m次,即建立m棵决策树。可以并行:即m个样本同时提取,m棵决策树同时生成;

(4)这m个决策树形成随机森林,通过投票表决结果(比如少数服从多数)决定待预测数据的结果。

 代码:

首先设置trees,leaf,Method参数

net = TreeBagger(trees, p_train, t_train, 'OOBPredictorImportance', OOBPredictorImportance, ...      'Method', Method, 'OOBPrediction', OOBPrediction, 'minleaf', leaf);

step3:计算重要性

基于MATLAB的随机森林分类(基于matlab的随机森林回归和交叉验证)

1:对于随机森林中的每一颗决策树,使用相应的OOB(袋外数据)数据来计算它的袋外数据误差,记为errOOB1. 2: 随机地对袋外数据OOB所有样本的特征X加入噪声干扰(就可以随机的改变样本在特征X处的值),再次计算它的袋外数据误差,记为errOOB2. 3:假设随机森林中有Ntree棵树,那么对于特征X的重要性=∑(errOOB2-errOOB1)/Ntree,之所以可以用这个表达式来作为相应特征的重要性的度量值是因为:若给某个特征随机加入噪声之后,袋外的准确率大幅度降低,则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。

代码:

importance = net.OOBPermutedPredictorDeltaError;  % 重要性

step4:混淆矩阵计算

​在机器学习领域,混淆矩阵(Confusion Matrix),又称为可能性矩阵或错误矩阵。

矩阵对角线上的数值为预测正确的格式,比如​以下训练集的混淆矩阵,类别1的预测正确个数为15个,正确率为100%。

​训练集的混淆矩阵

测试集的混淆矩阵

可以通过confusionchart来输出混淆矩阵。

该图第一列为判断为某一类别的正确率。如第一类数据预测为正确的召回率为83.3%。

 

step5:准确率:

将同类别的数据放在同一段显示,可以直观看到预测结果与实际值的偏离度

 

 

 step6:评价指标:召回率、精确率,ACC等等。

本文链接地址:https://www.jiuchutong.com/zhishi/298900.html 转载请保留说明!

上一篇:鲁棒性的含义以及如何提高模型的鲁棒性(鲁棒性分析方法)

下一篇:vue3:安装配置sass(vue3 安装)

  • airpods2充电盒如何知道它是否充满电(airpods2充电盒正确充电)

    airpods2充电盒如何知道它是否充满电(airpods2充电盒正确充电)

  • 淘宝店铺级别的等级划分(淘宝店铺级别的层级划分)

    淘宝店铺级别的等级划分(淘宝店铺级别的层级划分)

  • 苹果手机通讯录不能用字母查找(苹果手机通讯录里的联系人不见了怎么恢复)

    苹果手机通讯录不能用字母查找(苹果手机通讯录里的联系人不见了怎么恢复)

  • 文字编码属于表示媒体吗(文字编码属于表示媒体)

    文字编码属于表示媒体吗(文字编码属于表示媒体)

  • 华为荣耀30返回键在哪里(华为荣耀30返回键怎么设置位置)

    华为荣耀30返回键在哪里(华为荣耀30返回键怎么设置位置)

  • 微信怎么传输大视频(微信怎么传输大文件视频)

    微信怎么传输大视频(微信怎么传输大文件视频)

  • 什么叫做word形式(word中形状的作用)

    什么叫做word形式(word中形状的作用)

  • 手机晚上充电一晚对手机有影响吗(手机晚上充电一晚上会爆炸吗)

    手机晚上充电一晚对手机有影响吗(手机晚上充电一晚上会爆炸吗)

  • 视频被收藏已过期是怎么回事(视频收藏已过期怎么恢复)

    视频被收藏已过期是怎么回事(视频收藏已过期怎么恢复)

  • 电脑查找替换怎么操作(电脑查找和替换用什么键)

    电脑查找替换怎么操作(电脑查找和替换用什么键)

  • 苹果手机没电了还可以查位置吗(苹果手机没电了怎样快速恢复电量)

    苹果手机没电了还可以查位置吗(苹果手机没电了怎样快速恢复电量)

  • 小米8可以投屏在墙上吗(小米8可以投屏电脑吗win10)

    小米8可以投屏在墙上吗(小米8可以投屏电脑吗win10)

  • 网购开团是什么意思啊(什么是开团购买)

    网购开团是什么意思啊(什么是开团购买)

  • 手机上显示圆圈是什么意思(手机上显示圆圈是怎么回事)

    手机上显示圆圈是什么意思(手机上显示圆圈是怎么回事)

  • 小米cc9支持遥控吗(小米cc9遥控器在哪里打开)

    小米cc9支持遥控吗(小米cc9遥控器在哪里打开)

  • 倒数日怎么记录多少天(倒数日怎么记录分手多少天)

    倒数日怎么记录多少天(倒数日怎么记录分手多少天)

  • vivo接通电话震动怎么设置(vivo接通电话震动怎么关闭)

    vivo接通电话震动怎么设置(vivo接通电话震动怎么关闭)

  • 表格限制条件怎么取消(表格限制条件怎么增加选择项)

    表格限制条件怎么取消(表格限制条件怎么增加选择项)

  • 腾讯视频如何取消自动续费功能(腾讯视频如何取消苹果支付)

    腾讯视频如何取消自动续费功能(腾讯视频如何取消苹果支付)

  • Mac OS X重装教程(全程图解)(mac重装macos)

    Mac OS X重装教程(全程图解)(mac重装macos)

  • 如何修复运行缓慢的 WordPress 网站?(上海地铁9号线一期工程)

    如何修复运行缓慢的 WordPress 网站?(上海地铁9号线一期工程)

  • 所得税清算扣除比例
  • 增值税结转会计科目
  • 企业所得税季度预缴
  • 季度盈利可以弥补以用以前年度亏损弥补
  • 个税申报没填过租房信息,却有怎么回事
  • 建筑业确认收入的时间是按进度计量么
  • 转账支票存根联图片
  • 购买润滑油分录
  • 向银行借款一年是长期还是短期
  • 年终奖不走工资走存单,需要缴税吗?
  • 增值税普通发票可以抵扣进项税吗
  • 三代税款手续费申请流程
  • 停车场需要对车辆负责吗
  • 陕西省水利基金的税率
  • 增值税专票销售额比对(非差额企业)
  • 职工福利费发票开票范围
  • 企业的其他业务成本包括什么
  • 上月暂估本月怎么冲销
  • linux网络设置在哪里
  • linux开启
  • 电脑不用的情况下怎么让它关闭屏幕
  • 绿化租赁价格
  • 实收资本要求
  • win7的本地连接在哪
  • vcpkgsrv.exe是什么进程
  • PHP:oci_bind_by_name()的用法_Oracle函数
  • 电力安装公司都有什么业务
  • 成本费用科目包括
  • 开源项目有什么用
  • 日用品可以开专票吗
  • php页面跳转可以用header
  • 员工办理健康证需要什么材料
  • 发票抵扣联和发票联区别
  • 进项税额大于销项税额期末留抵
  • dedecms怎么更换模板
  • python怎么打开mac本地文件
  • 残保金都要申报吗
  • 融资租出的办公楼
  • 技术人员的工资计入什么费用
  • 运输公司燃油费占比
  • 金蝶软件做账流程图片
  • sql server的sql语句
  • sqlserver2008数据库文件路径
  • 购买材料增值税税率
  • 无偿调入的固定资产其贷方应计入
  • 可以以公司名义贷款吗
  • 应收账款属于会计分录
  • 合同取得成本和销售费用
  • 土地使用税为什么要交
  • 损益类科目明细账怎么结账
  • 预付卡发票如何做分录
  • 新注册公司工商如何做印章确认
  • win mysql
  • mysql的修改命令
  • 根据日期算时间
  • mysql里删除表里的数据
  • 安装windows server 2008 r2
  • win10激活后是什么样子
  • logrotate syslog
  • ubuntu 20.04.1 lts
  • kdeskcore.exe是什么
  • 盗版win7怎么升级
  • php运行时出现找不到该网页
  • opencvsharp读取图片
  • 深入剖析典型案例
  • android pageview
  • js函数重名
  • dos命令中删除文件命令有哪些
  • pm2启动nodejs
  • 在windows中快捷键的作用
  • jquery输出语句
  • android8.0特性
  • 广东发票开票软件
  • 报销的费用交印花税吗
  • 注销一般户需要基本户的开户许可证吗
  • 国税补录信息怎么查询
  • 扬州国家税务学院在哪个区
  • 广西国税发票查询系统
  • 医院电子发票怎么查
  • 浙江国地税联合税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设