【预测模型-随机森林分类】基于随机森林算法实现数据分类附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代码问题可私信交流。

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



相关文章
|
1天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
1天前
|
算法 调度
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
|
1天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
1天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
1天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
1天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
1天前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
1天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)