【预测模型-随机森林分类】基于随机森林算法实现数据分类附matlab代码
【预测模型-随机森林分类】基于随机森林算法实现数据分类附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 内容介绍
1.1.1 基本单元—决策树
决策树是广泛用于分类和回归任务的模型,因其结构呈树形,故称决策树 . 学习决策树,本质 上讲就是学习一系列 if/else 问题,目标是通过尽可能少的 if/else 问题来得到正确答案,我们从这些 一层层的 if/else 问题中进行学习并以最快的速度找到答案 .
1.1.2 集成学习
集成学习是合并多个机器学习模型来构建更强大模型的方法 . 目前,集成学习主要有两大流派 ( bagging 派系和 boosting 派系),其中 boosting 派系的代表算法主要有 AdaBoost 算法 、梯度提升机 ( GBDT ) 和极限提升机( XGBoost ) ,而本文中选择的随机森林是属于 bagging 派系的典型代表, 其算法描述在表 1 中给出,从本质上讲就是许多决策树的集合,其中每棵树都和其他树略有不同 .
对于分类问题,随机森林中的每棵树都是一个分类器,也就是说,每棵树做出一个分类结果,随 机森林集成了所有树的分类投票结果且结果的投票是等权的 ,即对所有的投票取平均值,并将投 票次数最多的结果作为输出 .
2 仿真代码
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 导入数据
res = xlsread(’数据集.xlsx’);
%% 划分训练集和测试集
temp = randperm(357);
P_train = res(temp(1: 240), 1: 12)’;
T_train = res(temp(1: 240), 13)’;
M = size(P_train, 2);
P_test = res(temp(241: end), 1: 12)’;
T_test = res(temp(241: end), 13)’;
N = size(P_test, 2);
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax(’apply’, P_test, ps_input );
t_train = T_train;
t_test = T_test ;
%% 转置以适应模型
p_train = p_train’; p_test = p_test’;
t_train = t_train’; t_test = t_test’;
%% 训练模型
3 运行结果
4 参考文献
[1]陶佳伟, 刘奇为, 胡珊,等. 一种基于随机森林算法的视频分类方法:, CN111753790A[P]. 2020.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
