clear
close all
load testData;
load trainData;
train =
[TrainData(1:7,:);TrainData(8:14,:);TrainData(15:21,:);TrainData(22:28,:);TrainData(29:35,:);TrainData(36:42,:);TrainData(43:49,:)];
train_labels =
[trainLabel(1:7,:);trainLabel(8:14,:);trainLabel(15:21,:);trainLabel(22:28,:);trainLabel(29:35,:);trainLabel(36:42,:);trainLabel(43:49,:)];
test =
[TestData(1:2,:);TestData(3:4,:);TestData(5:6,:);TestData(7:8,:);TestData(9:10,:);TestData(11:12,:);TestData(13:14,:)];
test_labels =
[testLabel(1:2,:);testLabel(3:4,:);testLabel(5:6,:);testLabel(7:8,:);testLabel(9:10,:);testLabel(11:12,:);testLabel(13:14,:)];
[train,pstrain]=mapminmax(train');
pstrain.ymin=0;
pstrain.ymax=1;
[train,pstrain]=mapminmax(train,pstrain);
[test,pstest]=mapminmax(test');
pstest.ymin=0;
petest.ymax=1;
[test,pstest]=mapminmax(test,pstest);
train=train';
test=test';
%对于分类问题网格参数优化(c,g)。
%[bestacc,bestc,bestg] =
SVMcgForClass(train_labels,train,-5,5,-5,5,7,0.5,0.5,4.5)%%交叉验证求c,g
%cmd=['-c ',num2str(bestc),' -g
',num2str(bestg)] %%c,g均有空格
%训练建模
%model=svmtrain(train_labels,train,cmd);
%% SVM网络预测
%[ptest_label, test_accuracy] = svmpredict(test_labels, test,
model);
%对于分类问题利用PSO 来进行参数优化(c,g)
pso_option.c1 = 0.5;
pso_option.c2 = 0.5;
pso_option.maxgen = 200;
pso_option.sizepop = 50;
pso_option.k = 0.6;
pso_option.wV = 1;
pso_option.wP = 1;
pso_option.v = 7;
pso_option.popcmax =200;
pso_option.popcmin = 0.1;
pso_option.popgmax = 100;
pso_option.popgmin = 0.001;
[bestacc1,bestc1,bestg1,pso_option] =
psoSVMcgForClass(train_labels,train,pso_option)
cmd1= ['-c ',num2str(bestc1),' -g ',num2str(bestg1)];
model1 = svmtrain(train_labels, train,cmd1);
[train_label1,train_accuracy1]=svmpredict(train_labels, train,
model1);
[ptest_label1, test_accuracy1] = svmpredict(test_labels, test,
model1);