【预测模型-随机森林分类】基于随机森林算法实现数据分类附matlab代码

发布于:2023-01-09 ⋅ 阅读:(335) ⋅ 点赞:(0)

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代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到