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(103);


P_train = res(temp(1: 80), 1: 7)';

T_train = res(temp(1: 80), 8)';

M = size(P_train, 2);


P_test = res(temp(81: end), 1: 7)';

T_test = res(temp(81: end), 8)';

N = size(P_test, 2);


%%  数据归一化

[p_train, ps_input] = mapminmax(P_train, 0, 1);

p_test = mapminmax('apply', P_test, ps_input);


[t_train, ps_output] = mapminmax(T_train, 0, 1);

t_test = mapminmax('apply', T_test, ps_output);


%%  转置以适应模型


3 运行结果

【预测模型-RF预测】基于随机森林算法实现数据回归预测附matlab代码_决策树

【预测模型-RF预测】基于随机森林算法实现数据回归预测附matlab代码_决策树_02

【预测模型-RF预测】基于随机森林算法实现数据回归预测附matlab代码_集成学习_03

4 参考文献

[1]张涛. 基于随机森林和支持向量机在小麦种子分类中的比较研究[J]. 河西学院学报, 2020, 36(2):8.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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