跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 工具系统 > 运营工具 > 机器学习之MATLAB代码--随机森林(一)

机器学习之MATLAB代码--随机森林(一)

时间:2024-03-26 15:01:04 来源:网络cs 作者:焦糖 栏目:运营工具 阅读:

标签: 森林  学习  机器 

代码:

%% 初始化数据clcclearclose all%%  导入数据data = xlsread('数据集.xlsx','Sheet1','A1:F100');%导入数据库%%  划分训练集和测试集TE= randperm(100);%将数据打乱,重新排序;PN = data(TE(1: 80), 1: 5)';%划分训练集输入TN = data(TE(1: 80), 6)';%划分训练集输出PM = data(TE(81: end), 1: 5)';%划分测试集输入TM = data(TE(81: end), 6)';%划分测试集输出%%  数据归一化[pn, ps_input] = mapminmax(PN, 0, 1);%归一化到(0,1)pn=pn';pm = mapminmax('apply', PM, ps_input);%引用结构体,保持归一化方法一致;pm=pm';[tn, ps_output] = mapminmax(TN, 0, 1);tn=tn';%%  模型参数设置及训练模型trees = 100; % 决策树数目leaf  = 5; % 最小叶子数OOBPrediction = 'on';  % 打开误差图OOBPredictorImportance = 'on'; % 计算特征重要性Method = 'regression';  % 选择回归或分类net = TreeBagger(trees, pn, tn, 'OOBPredictorImportance', OOBPredictorImportance,...      'Method', Method, 'OOBPrediction', OOBPrediction, 'minleaf', leaf);importance = net.OOBPermutedPredictorDeltaError;  % 重要性%%  仿真测试pyuce = predict(net, pm );%%  数据反归一化Pyuce = mapminmax('reverse', pyuce, ps_output);Pyuce =Pyuce';%%  绘图figure %画图真实值与预测值对比图plot(TM,'bo-')hold onplot(Pyuce,'r*-')hold onlegend('真实值','预测值')xlabel('预测样本')ylabel('预测结果')grid  onfigure % 绘制特征重要性图bar(importance)legend('各因素重要性')xlabel('特征')ylabel('重要性')%%  相关指标计算error=Pyuce-TM;[~,len]=size(TM);R2=1-sum((TM-Pyuce).^2)/sum((mean(TM)-TM).^2);%相关性系数MSE=error*error'/len;%均方误差RMSE=MSE^(1/2);%均方根误差disp(['测试集数据的MSE为:', num2str(MSE)])disp(['测试集数据的MBE为:', num2str(RMSE)])disp(['测试集数据的R2为:', num2str(R2)])

数据部分截图

在这里插入图片描述

结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如有需要数据和代码压缩包请在评论区发邮箱留言,一般一天之内会发送,记得关注和点赞哦!!

本文链接:https://www.kjpai.cn/news/2024-03-26/148971.html,文章来源:网络cs,作者:焦糖,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论