资源简介
里面包含随机森林的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 教程
相关资源
- 模式识别与智能计算的matlab实现源代
- matlab实现男声变女声
- 10用户CDMA matlab实现
- matlab实现的随机森林算法
- JPEG基本系统的matlab实现
- 机械优化设计及其MATLAB实现
- MATLAB实现最速下降法,牛顿法和共轭
- MATLAB实现小于指定空洞面积的空洞进
- LQR系统最优控制器设计的MATLAB实现及
- matlab实现理想滤波器的设计加汉宁窗
- matlab实现的图像梯形矫正
- Kalman 滤波器理论与应用——基于Mat
- 自适应谱熵端点检测matlab实现
- hough变换提取直线(Matlab实现)
- OFDM同步算法matlab实现
- e-greedy n-armed bandits problem matlab实现
- 遗传算法&物流配送
- 边缘检测的matlab实现代码
- 模糊综合评判的matlab实现
- matlab实现LZW码
- 模糊K-均值算法及其matlab实现
- Wagner Whitin算法的Matlab实现附有算例
- doa算法的matlab实现
- 用MATLAB实现Bresenham方法画圆
- 基于边缘曲率检测的叶片识别matlab实
- MATLAB实现图像质量评价峰值信噪比
- PCM调制解调MATLAB实现
- K近邻算法的MATLAB实现
- Matlab实现GAC模型
- 利用MATLAB实现双色测温法
评论
共有 条评论