位置: 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 安装)

  • 递延所得税负债账务处理
  • 进项税额转出借贷
  • 营业收入是不是利润
  • 印花税是根据销售额提吗
  • 会计准则体系包括会计制度吗
  • 房地产开发企业预缴增值税
  • 知识产权局专利审查协作中心
  • 未交增值税金额公式
  • 你觉得微信提现收费合理吗?
  • 电费 进项税
  • 企业购进口汽车会计分录
  • 什么计入在途物资
  • 税控系统全额抵扣增值税申报
  • 公司注销有哪些原因
  • 网络科技公司会计核算及账务处理
  • pos机刷卡手续费谁承担
  • 员工高温补贴奖励怎么写
  • 预存电费余额是什么意思
  • 工商年检填写数据填错了会罚款吗
  • 季节性停工是什么
  • 商业一般纳税人税率多少
  • 汽车费用怎么做账
  • 垫付员工保险费的会计科目
  • 注册资金没有的怎么做账
  • 处理固定资产的账务处理
  • 常见的财务报表分析方法有多选题
  • 阿里云搭建hexo
  • 购货方退货并已签收
  • 不锈餐具有几种材质
  • “write javaBean error, fastjson version 1.2.83, class org.apache.shiro.web.servlet.ShiroHttpServletR
  • 盘亏结转
  • 金融企业贷款损失税前扣除
  • phpcms栏目分类
  • 事业单位无形资产包括哪些
  • 全套工商登记资料都有什么
  • <四>2:掌握Const 与一二级指针结合应用
  • 无形资产摊销是按原值吗
  • 研发增值税税率怎么算
  • 财政监制章专用收据可以税前扣除吗
  • 权责发生制和收付实现制例题
  • 个体工商户是否属于企业
  • 哪些进项税额不能抵扣
  • 补缴以前年度的印花税会计分录
  • 一般纳税人结转税额怎么做会计分录
  • 房租预付款会计分录
  • 退回多交的所得税抵欠税怎么做账
  • 预收账款怎么用
  • 融资手续费计入什么成本
  • 备用金预期有什么影响
  • 企业各种盘盈和盘亏分录
  • 定额发票和增值税普通发票的区别
  • 基本账户没有流水
  • 机器设备进项税率
  • 销售毛利率越高越好吗
  • 微软宣布今年不会为全职员工加薪j
  • xp磁盘管理打不开
  • win2008组策略
  • win2008 server r2 intel无法安装网卡驱动不存在英特尔PRO适配器的解决方法
  • ubuntu怎么安装包
  • arm和x86性能差多少
  • linux find命令详解xargs
  • 笔记本用linux系统
  • tomcat调用servlet流程
  • redhat linux yum
  • script在html中的用法
  • css样式表三种方式
  • jquery滚动到底部
  • bat脚本如何运行
  • node.js tcp 服务器
  • android 系统app权限
  • nodejs 性能优化
  • jquery中获取元素的三种方法
  • jQuery插件安装教程
  • python 解析算法
  • 发票查验结果怎么保存
  • 12366纳税服务热线接收税收违法行政行为举报管理办法
  • 国家税务总局四川省电子税务局界面
  • 个税已申报税额为0可以退税吗
  • 收购农民自产农产品可以使用现金
  • 苹果关税多少钱一个
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设