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,一经查实,立即删除!

相关文章

第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…

将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…

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

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

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

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

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…

给 Flutter 界面切换来点特效

本文微信公众号「AndroidTraveler」首发。 背景 我们知道页面之间如果直接切换&#xff0c;会比较生硬&#xff0c;还会让用户觉得很突兀&#xff0c;用户体验不是很好。 因此一般情况下&#xff0c;页面之间的切换为了达到平滑过渡&#xff0c;都会添加动画。 另外&#xff0c…

生成高斯图像

本文转自 http://www.cnblogs.com/tiandsp/archive/2012/02/26/2368533.html clear; m31; n31; imgzeros(m1,n1); imgdouble(img); pi3.1415926; sigma10; for i-(m/2):m/2for j-(n/2):n/2img(im/21,jn/21)(1/(2*pi*sigma*sigma))*exp(-(i*ij*j)/(2*sigma*sigma)); end end i…

高斯模糊的算法(高斯权重)

本文转自&#xff1a;http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html 通常&#xff0c;图像处理软件会提供”模糊”&#xff08;blur&#xff09;滤镜&#xff0c;使图片产生模糊的效果。 “模糊”的算法有很多种&#xff0c;其中有一种叫做”高斯模糊“&…

序列化流与反序列化流

序列化流与反序列化流 用于从流中读取对象的 操作流 ObjectInputStream 称为 反序列化流 用于向流中写入对象的操作流 ObjectOutputStream 称为 序列化流 特点&#xff1a;用于操作对象。可以将对象写入到文件中&#xff0c;也可以从文件中读取对象。 1 对象序列化流Objec…

图像相似性搜索的原理

本文转自&#xff1a; 相似图片搜索的原理 相似图片搜索的原理&#xff08;二&#xff09; http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html http://www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html http://blog.s…

灰度共生矩阵(GLCM)并计算能量、熵、惯性矩、相关性(matlab)(待总结)

关于灰度共生矩阵的介绍可参考 http://blog.csdn.net/chuminnan2010/article/details/22035751 http://blog.csdn.net/xuezhisd/article/details/8908824 http://blog.csdn.net/xuexiang0704/article/details/8713204 http://cn.mathworks.com/help/images/ref/imlincomb.h…

机器学习之 weka学习(一)weka介绍,安装和配置环境变量

本部分详情可查看博客http://blog.csdn.net/u011067360/article/details/20844443 数据挖掘开源软件&#xff1a;WEKA基础教程 Weka简介&#xff1a; Weka是由新西兰怀卡托大学开发的智能分析系统&#xff08;Waikato Environment for Knowledge Analysis&#xff09; 。在怀…

第一章:线性空间和线性变换

转载于:https://www.cnblogs.com/invisible2/p/11514817.html

国外十大高校人工智能实验室及其代表性人物一览

本文转自&#xff1a; http://toutiao.com/a6293031494186107137/?tt_frommobile_qq&utm_campaignclient_share&appnews_article&utm_sourcemobile_qq&iid4325464459&utm_mediumtoutiao_android 高校建立的实验室与大公司有所不同&#xff0c;其研究项目…

java 基础安装和Tomcat8配置

初识 java&#xff0c;基础安装的说明。 下载 在oracle官网一般在同一个java版本会提供2个版本&#xff0c; 一个是Java SE Development Kit 7u80&#xff0c;此版本包含JDK开发环境版本&#xff1b; 另外一个是 Java SE Runtime Environment 7u80&#xff0c;此为只包含JR…

matlab内存溢出的解决方案

&#xff08;1&#xff09; 增加虚拟内存&#xff1a;cmd -> taskmgr 打开任务管理器&#xff0c;查看物理内存和虚拟内存&#xff0c;可观察matlab在运行过程中是否超过物理内存和虚拟内存。若超过&#xff0c;增加虚拟内存的方法是不可行的。物理内存不足的时候可以通过将…

c++MMMMM:oo

1.union&#xff0c;struct和class的区别 转载于:https://www.cnblogs.com/invisible2/p/11524465.html