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

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

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

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



相关文章
|
3月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
373 0
|
3月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
201 8
|
3月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
216 8
|
4月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
291 2
|
3月前
|
机器学习/深度学习 数据采集 存储
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
377 0
|
3月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
197 0
|
3月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
181 0
|
4月前
|
机器学习/深度学习 存储 算法
【微电网调度】考虑需求响应的基于改进多目标灰狼算法的微电网优化调度研究(Matlab代码实现)
【微电网调度】考虑需求响应的基于改进多目标灰狼算法的微电网优化调度研究(Matlab代码实现)
189 0
|
3月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
168 0
|
3月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
138 0

热门文章

最新文章