MATLAB – TreeBagger example

In MATLAB, Decision Forests go under the rather deceiving name of TreeBagger.

随机森林分类器(Random Forest)

B = TreeBagger(nTree,train_data,train_label,'Method','classification');
predict_label = predict(B,test_data);

利用随机森林做分类

Here’s a quick tutorial on how to do classification with the TreeBagger class in MATLAB.

% Since TreeBagger uses randomness we will get different results each 
% time we run this.
% This makes sure we get the same results every time we run the code.
rng default% Here we create some training data.
% The rows< represent the samples or individuals.
% The first two columns represent the individual's features.
% The last column represents the class label (what we want to predict)
trainData = [ ...[6,  300,  1];[3,  300,  0];[8,  300,  1];[11, 2000, 0];[3,  100,  0];[6,  1000, 0];];features = trainData(:,(1:2))
classLabels = trainData(:,3)% How many trees do you want in the forest? 
nTrees = 20;% Train the TreeBagger (Decision Forest).
B = TreeBagger(nTrees,features,classLabels, 'Method', 'classification');% Given a new individual WITH the features and WITHOUT the class label,
% what should the class label be?
newData1 = [7, 300];% Use the trained Decision Forest.
predChar1 = B.predict(newData1);% Predictions is a char though. We want it to be a number.
predictedClass = str2double(predChar1)
% predictedClass =
%      1% So we predict that for our new piece of data, we will have a class label of 1 % Okay let's try another piece of data.
newData2 = [7, 1500];predChar2 = B.predict(newData2);
predictedClass2 = str2double(predChar2)
% predictedClass2 =
%      0% It predicts that the new class label is a 0.

Found out how to inspect the trees, by running the view() command. E.g. for inspecting the first tree of the example:

view(B.Trees{1})Decision tree for classification
1  if x2<650 then node 2 elseif x2>=650 then node 3 else 0
2  if x1<4.5 then node 4 elseif x1>=4.5 then node 5 else 1
3  class = 0
4  class = 0
5  class = 1

By passing some more arguments to the view() command, the tree can also be visualized:

view(B.Trees{1},'mode','graph')

这里写图片描述

利用随机森林进行回归:

x=[1:1:30];  
y=x.^2;  
B= TreeBagger(100,x',y','Method','regression');  
x2=[1:0.5:40];  
y2=x2.^2;  
y3=zeros(size(x2));  
for i=1:size(x2,2)  y3(i)=B.predict(x2(i));  
end  
plot(x2,y2,'.r');  
hold on;  
plot(x2,y3,'.b');  
title('Random Forest for Regression');

There’s an excellent tutorial in the MATLAB documentation here that covers a lot more.

本文转自:

http://kawahara.ca/matlab-treebagger-example/

http://blog.csdn.net/dan1900/article/details/39030867

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P1:天文数据获取

Step1:在sloan的casjob里http://casjobs.sdss.org/CasJobs/&#xff0c;密码用户 jiangbin 123456 查询满足条件的光谱对象&#xff0c;得到光谱对象的plate,MJD,fiber&#xff0c;或者赤经赤纬&#xff0c;将其存为.csv文件。Csv文件可由excel直接编辑&#xff0c;注意要调整…

matlab 查看电脑系统性能(CPU,GPU),并开启并行运算

判断电脑的系统性能&#xff0c;并开启并行运算 %-------------------------------------------------------------------------- clear;clc;close all% Find capabilities of computer so we can best utilize them.% Find if gpu is present ngpusgpuDeviceCount; disp([num…

有时间担心中年危机,还不如用忧虑的时间来提升自己——再论程序员该如何避免所谓的中年危机...

人会慢慢变老&#xff0c;变老后精力&#xff0c;记忆力乃至身体会慢慢变差&#xff0c;这是无法逆转的自然规律。随之会产生的是对中年危机的忧虑乃至恐惧&#xff0c;比如担心能力精力不及年轻人&#xff0c;从而导致收入锐减乃至失业。 对此我有如下三点不解。第一&#xff…

第95:PCA

输入数据矩阵->计算每条记录的平均值和标准差->计算协方差矩阵->得到协方差矩阵的所有特征值和特征向量->对特征值进行从大到小的排序&#xff0c;并且得到与之对应的特征向量 PCA是无监督的。没有标签也可以做&#xff0c;是基于方差的。 精髓在于将协方差矩阵进行…

国外少儿PYTHON编程书推荐

1&#xff0c;Python for Kids: A Playful Introduction to Programming 中文版已结有了&#xff0c;叫做 趣学Python——教孩子学编程 51wK-ZIUImL 亚马逊上人气很高&#xff0c;适合10岁以上儿童&#xff0c;内容浅显易懂&#xff0c;非常适合儿童入门 2&#xff0c;He…

System类+Math类+Arrays类

System类 System中代表程序所在系统&#xff0c;提供了对应的一些系统属性信息&#xff0c;和系统操作 l currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值 l exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记…

将sublime text3添加到右键菜单中(可执行)

安装了sublime text3&#xff0c;发现右键文件里面没有使用sublime text3打开的选项&#xff0c;所以需要手动添加使用sublime text3编辑的选项。 打开注册表编辑器。 开始——>运行——>regedit 选择HKEY_CLASSES_ROOT——>*——>shell&#xff0c;右键&#…

以股票RSI指标为例,学习Python发送邮件功能(含RSI指标确定卖点策略)

本人之前写过若干“给程序员加财商”的系列文&#xff0c;目的是通过股票案例讲述Python知识点&#xff0c;让大家在学习Python的同时还能掌握相关的股票知识&#xff0c;所谓一举两得。 在之前的系列文里&#xff0c;大家能看到K线&#xff0c;均线&#xff0c;成交量的案例&a…

为什么我们会拖延? (TED)

当你拖延的时候&#xff0c;大脑里发生了什么&#xff1f; 看看知名博主Tim Urban 的TED演讲&#xff0c;主页 http://waitbutwhy.com/wait-but-who 为什么我们会拖延&#xff1f;

字节流+字符流

1、 IO流用来处理设备之间的数据传输 a) 上传文件 b) 下载文件2、 Java对数据的操作都是通过流的方式3、 Java 用于操作流的对象都在IO包中4、 IO流分类 a) 流向  i. 输入流&#xff1a;程序读取数据  ii. 输出流&#xff1a;程序向硬盘写入数据 b) 数据类型  i. 字节…

Imbalanced data – Finding Waldo

Imbalanced data – Finding Waldo 这篇文章讲了不平衡数据的处理&#xff0c;都是常见的方法&#xff08;简单采样&#xff0c;合成采样&#xff09;&#xff0c;但是文章最后讲了一个很有趣的处理方式&#xff1a;如果不平衡数据中某个类别的数据非常少&#xff0c;那么也可以…

机器学习(Machine Learning)深度学习(Deep Learning)资料

机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習、深度學習方面不錯的資料&#xff0c;轉載。 原作&#xff1a;https://github.com/ty4z2008/Qix/blob/master/dl.md https://github.com/ty4z2008/Qix/blob/master/dl2.md 原作作者會不斷更新&#xff…

TypeScript语法基础

什么是TypeScript? TypeScript是微软开发的一门编程语言&#xff0c;它是JavaScript的超集&#xff0c;即它基于JavaScript&#xff0c;拓展了JavaScript的语法&#xff0c;遵循ECMAScript规范&#xff08;ES6/7/8&#xff09;。 TypeScript Type Script(标准JS)&#xff0c…

不用去验血,对照这张表,就能知道自己缺啥!千万收藏好!

很多时候 身体上出现问题 不用去医院就能知道自己缺什么 对照下面的清单 能让你省下大笔钱 身体健康少生病 赶紧看看吧 1.看 头 1.头发发黄、发焦&#xff0c;缺蛋白质&#xff1b; 2.头发稀疏无光&#xff0c;补蛋白质和维生素A&#xff1b; 3.防止白发&#xff0c;补叶酸、泛…

拖延症“治疗”方案

关于拖延症&#xff0c;有个有趣的TED演讲阐述了&#xff0c;拖延症发生的大脑状态 TED&#xff1a;为什么我们会拖延&#xff1f; http://mooc.guokr.com/talk/3199/?utm_mediumedm 拖延症治疗方案 拒绝磨蹭 四招治疗拖延症 Step1 拖延症从何而来 如何克服拖延症&#…

从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (三)

本文属于图神经网络的系列文章&#xff0c;文章目录如下&#xff1a; 从图(Graph)到图卷积(Graph Convolution)&#xff1a;漫谈图神经网络模型 (一)从图(Graph)到图卷积(Graph Convolution)&#xff1a;漫谈图神经网络模型 (二)从图(Graph)到图卷积(Graph Convolution)&#x…

Getting started with caffe questions answers (摘选)

本文摘选了Getting started with caffe questions answers 部分内容&#xff0c;更多细节请下载pdf文件 getting-started-with-caffe-questions-answers.pdf caffe 资料可在百度云盘下载 链接: http://pan.baidu.com/s/1jIRJ6mU 提取密码&#xff1a;xehi Q: Is there a mi…

函数式web框架

函数式web框架 转载于:https://www.cnblogs.com/stormy/p/11488266.html

Photoshop 手动画金标准流程

下面给出Photoshop手动画金标准的流程&#xff0c; 1. 读取 图片 2. 找到套锁按钮 3. 利用套锁按钮手动画金标准 4. 点击套锁区域&#xff0c;右键新建图层 此时可以看到右侧出现新建的图层1 5. 在套锁区域添加颜色 此时可以直接选择软件右下角的背景和前景的颜色都选择为…

肺部胸片图像掩膜和伪彩色处理matlab

clc; clear; close all; Iimread(006.jpg);%读取图像 I double(I); figure(1),imshow(I,[]) figure(2),imshow(I,colormap) colorbar% newimg I; II imread(006_mixture.gif); III imresize(II,0.5); figure(3),imshow(III)mask im2bw(III, 0.5); figure(4),imshow(mask…