資源簡介
根據隨機森林的原理實現的matlab代碼,里面有非常詳細的注釋,幾乎每行都有,針對分類問題,可以運行,可以根據需要,修改到自己的算法中。

代碼片段和文件信息
clear?all;??
rnode=cell(31);%3*1的單元數組??
%?rchild_value=cell(31);%3*1的單元數組??
%?rchild_node_num=cell(31);%3*1的單元數組??
sn=300;?%隨機可重復的抽取sn個樣本??
tn=10;??%森林中決策樹的數目
load(‘aaa.mat‘);??
n?=?size(r1);
%%?樣本訓練采用隨機森林和ID3算法構建決策森林??
discrete_dim?=?[];
for?j=1:tn??
????Sample_num=randi([1n]1sn);%從1至1000內隨機抽取sn個樣本??
????SData=r(Sample_num:);??
????[treediscrete_dim]=?train_C4_5(SData?5?10?discrete_dim);??
????rnode{j1}=tree;??
end??
??????
%%?樣本測試??
load(‘aaa.mat‘);??
T?=?r;
%TData=roundn(T-1);??
TData?=?roundn(T-1);??
%統計函數,對輸入的測試向量進行投票,然后統計出選票最高的標簽類型輸出??
result?=?statistics(tn?rnode?TData?discrete_dim);??
gd?=?T(:end);
len?=?length(gd);
count?=?sum(result==gd);
fprintf(‘共有%d個樣本,判斷正確的有%d\n‘lencount);
????
????
?
??????
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????4218541??2017-09-05?15:59??random?forest-matlab\aaa.mat
?????文件????????890??2017-09-06?10:16??random?forest-matlab\rfmain.m
?????文件????????673??2017-09-06?10:19??random?forest-matlab\statistics.m
?????文件??????13407??2017-09-06?10:16??random?forest-matlab\train_C4_5.m
?????文件???????1947??2017-09-06?09:24??random?forest-matlab\vote_C4_5.m
?????目錄??????????0??2017-09-06?10:58??random?forest-matlab
-----------?---------??----------?-----??----
??????????????4235458????????????????????6
評論
共有 條評論