MATLAB隨機森林回歸模型


 

MATLAB隨機森林回歸模型:

調用matlab自帶的TreeBagger.m

T=textread('E:\datasets-orreview\discretized-regression\10bins\abalone10\matlab\test_abalone10.2');
X=textread('E:\datasets-orreview\discretized-regression\10bins\abalone10\matlab\train_abalone10.2');
%nTree = round(sqrt(size(X,2)-1));
nTree = 50;
train_data = X(:,1:end-1);train_label = X(:,end); test_data = T(:,1:end-1);
Factor = TreeBagger(nTree, train_data, train_label,'Method','regression');
[Predict_label,Scores] = predict(Factor, test_data);
%Predict_label=cellfun(@str2num,Predict_label(1:end));
MZE = mean(round(Predict_label) ~= T(:,end))
MAE = mean(abs(round(Predict_label) - T(:,end)))

 

調用外部函數forestTrain.m來自https://github.com/karpathy/Random-Forest-Matlab

T=textread('E:\datasets-orreview\ordinal-regression\ERA\matlab\test_ERA.1');
X=textread('E:\datasets-orreview\ordinal-regression\ERA\matlab\train_ERA.1');
opts= struct;
opts.depth= 9;
opts.numTrees= 60;
opts.numSplits= 5;
opts.verbose= true;
opts.classifierID= 2; % weak learners to use. Can be an array for mix of weak learners too
train_data = X(:,1:end-1);train_label = X(:,end); test_data = T(:,1:end-1);
tic;
m= forestTrain(train_data, train_label, opts);
timetrain= toc;
tic;
yhatTrain = forestTest(m, test_data);
timetest= toc;
MZE = mean(round(yhatTrain) ~= T(:,end))
MAE = mean(abs(round(yhatTrain) - T(:,end)))

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM