%%==================清空环境=============
clc
clear
%%导入训练数据和测试数据
load data1.mat
%其中train_data test_data分别为训练集和测试集
%train_result test_result为训练结果和测试结果
%%数据归一化
%%归一化方法1(利用libsvm工具箱函数归一化)
[train_x,test_x]=scaleForSVM(train_data,test_data,0,1)
[train_y,test_y,pstrain1]=scaleForSVM(train_result,test_result,0,1)
%%归一化方法2(利用svm自带mapminmax函数归一化)
%[train_data ,pstrain0] = mapminmax(train',0,1);
%[test_data] = mapminmax('apply',test',pstrain0);
%[train_result,pstrain1] = mapminmax(train_out,0,1);
%[test_result] = mapminmax('apply',test_out,pstrain1);
%train_data = train_data'
%train_result=train_result'
%test_data = test_data'
%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.5; % c1 belongs to [0,2] c1:初始为1.5,pso参数局部搜索能力
c2 = 1.5; % c2 belongs to [0,2] c2:初始为1.7,pso参数全局搜索能力
maxgen=300; % 进化次数
sizepop=30; % 种群规模
popcmax=10^(3); % popcmax:初始为1000,SVM 参数c的变化的最大值.
popcmin=10^(-1); % popcmin:初始为0.1,SVM