IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 在MATLAB下的TreeBagger算法 -> 正文阅读

[人工智能]在MATLAB下的TreeBagger算法

数据连接:提取码:dzdficon-default.png?t=M0H8http://链接:https://pan.baidu.com/s/1eAGh9HqWfxokC7uFDr59Ag

clc;clear all;close all;
%加载数据
f1 = importdata('D:\桌面\附件1.xlsx');
a=f1.textdata;
c1=f1.data;
Y = c1(:,end);
X = c1(:,1:end-1);
isCategorical = [zeros(15,1);ones(size(X,2)-15,1)]; % Categorical variable flag

leaf =5;
ntrees = 200;
fboot = 1;
disp('训练随机森林(TreeBagger)')
b = TreeBagger(ntrees, X,Y, 'Method','regression', 'oobvarimp','on', 'surrogate', 'on', 'minleaf',leaf,'FBoot',fboot);

%训练好的模型进行预测
disp('预测')
x = Y;
y1 = predict(b, X);

% 计算相关系数
x1=x(1:30000);
y11=y1(1:30000);
cct=corrcoef(x1,y11);
cct=cct(2,1);

% 创建散点图
disp('创建散点图')

% 绘制线
plot(x1,x1,'LineWidth',4);
hold on
scatter(x1,y11,'filled');
hold off
grid on
%创建R方图
set(gca,'FontSize',20)
xlabel('真实值','FontSize',20)
ylabel('预测值','FontSize',20)
title(['Training Dataset, R^2=' num2str(cct^2,2)],'FontSize',20)

drawnow
% Calculate the relative importance of the input variables
tic
disp('Sorting importance into descending order')
weights=b.OOBPermutedVarDeltaError;
[B,iranked] = sort(weights,'descend');
toc

disp(['Plotting a horizontal bar graph of sorted labeled weights.']) 
figure
barh(weights(iranked),'g');
xlabel('Variable Importance','FontSize',20,'Interpreter','latex');
ylabel('Variable Rank','FontSize',20,'Interpreter','latex');
title(...
    ['Relative Importance of Inputs in estimating Redshift'],...
    'FontSize',10,'Interpreter','latex'...
    );
hold on
barh(weights(iranked(1:10)),'y');
barh(weights(iranked(1:5)),'r');

xt = get(gca,'XTick');    
xt_spacing=unique(diff(xt));
xt_spacing=xt_spacing(1);    
yt = get(gca,'YTick');    
ylim([0.25 length(weights)+0.75]);
xl=xlim;
xlim([0 2.5*max(weights)]);

% 为每个栏添加文本标签
for ii=1:length(weights)
    text(...
        max([0 weights(iranked(ii))+0.05*max(weights)]),ii,...
        ['Column ' num2str(iranked(ii))],'Interpreter','latex','FontSize',11);
end
set(gca,'FontSize',16)
set(gca,'XTick',0:2*xt_spacing:1.1*max(xl));
set(gca,'YTick',yt);
set(gca,'TickDir','out');
set(gca, 'ydir', 'reverse' )
set(gca,'LineWidth',2);   
drawnow

fn='RelativeImportanceInputs';
fnpng=[fn,'.png'];
print('-dpng',fnpng);

% 绘制权重等级变化
disp('绘制bag与生成树的关系')

figure
plot(b.oobError,'LineWidth',3);
xlabel('Number of Trees','FontSize',20)
ylabel('Out of Bag Error','FontSize',20)
title('Out of Bag Error','FontSize',20)
set(gca,'FontSize',16)
set(gca,'LineWidth',2);   
grid on
drawnow
fn='EroorAsFunctionOfForestSize';
fnpng=[fn,'.png'];
print('-dpng',fnpng);

%模型评测
y2=y1(1:30000);
Y1=Y(1:30000);
Ape=abs(y2-Y1)./Y1;
Mape1=0;
[r,c]=size(Ape);
for i=1:r
    Mape1=Mape1+Ape(i,c);
end
disp('平均相对误差Mape:')
Mape=Mape1/r
count1=sum(Ape(:)<=0.05)
disp('5%标准误差率')
Accuracy=count1/30000
disp('模型评测')
zzz=0.2*(1-Mape)+0.8*Accuracy

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-03 01:12:38  更:2022-02-03 01:14:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 5:59:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码