资源简介
里面包含随机森林的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 教程
相关资源
- 非线性SVM算法-matlab实现
- Matlab实现基于相关的模板匹配程序
- 光纤传输中的分布傅立叶算法matlab实
- 引导图像滤波器 Matlab实现
- LU分解的MATLAB实现
- 用matlab实现的多站定位系统性能仿真
- k近邻算法matlab实现
- MATLAB实现的BPSK调制解调
- FNN MATLAB实现
- 工程优化问题的Matlab实现代码
- MATLAB实现混沌图像加密仿真程序
- matlab实现摄像机标定
- qam 用matlab实现qam仿真的程序
- MATLAB实现弹道仿真
- HDB3码、AMI码的MATLAB实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- Matlab实现混沌系统的控制
- matlab实现电力系统潮流计算-PQ分解法
- ROC曲线 matlab实现
- OFDM通信系统matlab实现
- matlab实现对两幅图像的叠加
- 织物密度测量MATLAB实现
- BP神经网络实现手写数字识别matlab实现
- 自动寻峰谷算法matlab实现
- AR模型算法的matlab实现和实验分析
- Dijkstra最短路径算法的Matlab实现
- 随机梯度下降算法的MATLAB实现
- 数字信号处理及MATLAB实现__第二版__学
- Harris角点检测matlab实现
- matlab实现仿射加密解密
评论
共有 条评论