支持向量机初步学习
load dataset.mat;
load labelset.mat;
train_set=[dataset(1:5;:);dataset(11:15;:)];
train_set_labels=[labelsetl(1:5;:);labelset(11:15;:)];
test_set=[dataset(1:5;:);dataset(11:15;:)];
test-set_labels=[labelsetl(1:5;:);labelset(11:15;:)];
(mtrain,ntrain)=size(train_set);
(mtest,ntest)=size(test_set);
test_dataset=[train_set,test_set];
[dataset_scale,ps]=mapminmax(dataset',0,1);
dataset_scsale=dataset_scale';
train_set=dataset_scale(1:mtrain,:);
test_set=datascale((mtrain+1):(mtrain+mtest));
model=svmtrain(train_set_labels,train_set,'-c 1 -g 0.07');
[predict_label] = svmpredict(test_set_labels, test_set, model);
figure;
hold on;
plot(test_set_labels,'o');
plot(predict_label,'r*');
xlabel('测试集样本','FontSize',12);
ylabel('类别标签','FontSize',12);
legend('实际测试集分类','预测测试集分类');
title('测试集的实际分类和预测分类图','FontSize',12);
grid on;
1) 试验流程:
Step1: 根据给定的数据,选定训练集和测试集;
Step2: 为训练集与测试集选定标签集;
Step3: 利用训练集进行训练分类器得到model;
Step4: 根据model,对测试集进行测试集得到accuracy rate;
“bedroom.mat”10*15的矩阵,分别代表了不同的十张有关于bedroom的图片的15维属性;
“forest.mat”10*15矩阵,分别代表了不同的十张有关于forest的图片的15维属性特征;
训练集:trainset(); 分别取bedroom(1:5,:)和forse(1:5,:)作为训练集;
测试集:testset(); 分别取bedroom(6:10,:)和forse(6:10,:)作为测试集;
标签集:label(); 取bedroom的数据为正类标签为1;forse的数据为负类标签为-1.
找不到数据集,不知道能不能用同一个数据集分成两个样本。就是带有20个数据的数。由于没有样本,程序也没运行
posted on 2015-07-22 23:27 nataliebky 阅读(56) 评论(0) 收藏 举报
浙公网安备 33010602011771号