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 = 1By 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
總結
以上是生活随笔為你收集整理的MATLAB – TreeBagger example的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光大银行五洲国际联名信用卡年费多少?怎么
- 下一篇: 将sublime text3添加到右键菜