資源簡介
里面包含隨機森林的matlab實現代碼,并且有簡單的訓練數據集和測試數據集

代碼片段和文件信息
%%?load?data
train?=?load(‘train.data‘);
train_data?=?train(:?1:10);?train_label?=?train(:?11);
test?=?load(‘test.data‘);
test_data?=?test(:?1:10);?test_label?=?test(:?11);
%%?new_data
pos?=?find(train_label==1);
neg?=?find(train_label==-1);
n_p?=?length(pos);
n_n?=?length(neg);
new_data=?zeros(n_n?*?2?10);
new_label=?zeros(n_n?*?2?1);
for?i=1:n_n
????idx?=?pos(randperm(n_p?1));
????new_data(i:)?=?train_data(idx:);
????new_label(i)?=?train_label(idx);
end
new_data(n_n+1:n_n*2:)?=?train_data(neg?:);
new_label(n_n+1:n_n*2)?=?train_label(neg);
%%?adaboost
%類變換為01
test_label(test_label>0)?=?1;
test_label(test_label<0)?=?0;
new_label(new_label>0)?=?1;
new_label(new_label<0)?=?0;
%訓練
ens?=?fitensemble(new_datanew_label‘AdaBoostM1‘?100‘tree‘‘type‘‘classification‘);
%測試
[predict_labelscores]=?predict(ens?test_data);
%輸出正確率
fprintf(‘AdaBoost?Accuracy:?%f?%%\n‘?mean(double(predict_label?==?test_label))?*?100);
%輸出-1類正確率
predict1=sum(predict_label==test_label?&?test_label==0);
tot11=sum(test_label==0);
fprintf(‘label?-1:?%d/%d?Correct=%f?%%\n‘predict1tot11predict1*100/tot11);
%輸出+1類正確率
predict2=sum(predict_label==test_label?&?test_label==1);
tot2=sum(test_label==1);
fprintf(‘label?+1:?%d/%d????Correct=%f?%%\n‘predict2tot2predict2*100/tot2);
%調整scores在01內,test_label為2列,以滿足newplotroc
test_label?=?[test_label?1?-?test_label];
for?i=1:2????for?j=1:2072
????????if?scores(ji)<0
????????????scores(ji)=scores(ji)+1;
????????end
????end
end
%轉置test_labelscores,繪制ROC曲線,輸出AUC數值
plot_roc(test_label‘scores‘);
%?test_label=test_label(:);
%?scores=scores(1:20721:1);
%?
%?[XY]=perfcurve(test_labelscores‘1‘);
%?plot(XY);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????9676??2017-03-21?16:37??newplotroc.m
?????文件????????9678??2016-01-11?13:39??plot_roc.m
?????文件??????214690??2016-01-10?22:00??test.data
?????文件??????858545??2009-04-24?16:10??train.data
?????文件????????1784??2016-12-06?16:14??ADABOOST.m
- 上一篇:基于MATLAB的汽車動力性仿真論文
- 下一篇:matlab GUI 教程
評論
共有 條評論