其他就不多说了,直接贴图吧,马上看比赛了。
http://s5/middle/639ff51a489db2116b804&690
http://s1/middle/639ff51ax8a8ac22e8a70&690
http://s7/middle/639ff51ax8a8abee96e76&690
http://s11/middle/639ff51a489db21d52baa&690
需要讨论代码的,留言。谢谢!!
应有同仁们的要求把代码贴上来:
%% PSO-LSSVM分类测试程序代码模板
%by tangxb
%e-mail:tangxb200@126.com
QQ:444646122
%http://blog.sina.com.cn/lssvm
%% 清空变量空间
clc;clear;close all
format compact
%% 程序代码计时开始
tic;
%% 数据导入
X0=load('C:\Documents and
Settings\Administrator\桌面\训练数据\renli.txt');
Y0=load('C:\Documents and
Settings\Administrator\桌面\训练数据\renli.txt');
trainset=X0(:,1:5);
trainset_label=X0(:,6);
testset=Y0(:,1:5);
testset_label=Y0(:,6);
%% 样本集各维度可视化
featuredisplay(trainset,trainset_label,testset,testset_label,1);
%% 计数样本类别数
labelnum=countlabelnum(testset_label);
%% 原始数据可视化
figure;
boxplot(trainset,'orientation','horizontal');
grid on;
title('Visualization for original data');
%% 数据预处理
%归一化处理
[trainset,testset,ps] =
scaleForLSSVM(trainset,testset,0,1);
% %% 归一化后可视化
% figure;
%
boxplot(trainset,'orientation','horizontal');
% grid on;
% title('Visualization for scale data');
% %% 样本集归一化后各维度可视化
%
featuredisplay(trainset,trainset_label,testset,testset_label,1);
%% 降维处理
%1.pca处理
[trainset,testset] =
pcaForLSSVM(trainset,testset);
% %2.ica处理
% [trainset,testset] =
fasticaForLSSVM(trainset,testset);
% %3.dct处理
% [trainset,testset] =
DCTforSVM(trainset,testset);
%% LS参数设置
type = 'c';
kernel_type = 'RBF_kernel';
codefct = 'code_MOC';
preprocess =
'original';%'preprocess'或者'original'
igam=0.1;
isig2=0.1;
% %将“多类”转换成“两类”的编码方案
% 1. Minimum Output Coding (code_MOC)
% 2. Error Correcting Output Code (code_ECOC)
% 3. One versus All Coding (code_OneVsAll)
% 4. One Versus One Coding (code_OneVsOne)
% 编码
[Yc,codebook,old_codebook] =
code(trainset_label,codefct);
%% PSO验证优化参数
[bestCVaccuarcy,bestc,bestg,pso_option] =
psoLSSVMcgForClass(trainset,trainset_label,Yc);
% 训练生成模型
[alpha,b]=trainlssvm({trainset,Yc,type,bestc,bestg,kernel_type,preprocess});
%编码分类结果
Yd0 =
simlssvm({trainset,Yc,type,bestc,bestg,kernel_type,preprocess},{alpha,b},testset);
% %新加的行,为了画ROC曲线
%
Zt=latentlssvm({trainset,trainset_label,type,gam,sig2,kernel_type},{alpha,b},testset);%X-训练样本集,Y-训练样本集类别号,XX-测试样本集
%
[area,se,thresholds,oneMinusSpec,Sens]=roclssvm(Zt,YY);%作图用的最后两个输出oneMinusSpec(横轴),Sens(纵轴),YY-测试样本集类别号
predict_label =
code(Yd0,old_codebook,[],codebook);%解码分类结果
%% ROC曲线
plotLSSVMroc(testset_label,predict_label,labelnum);
%% 分类效果可视化、正确率
[rightpercent,testnum,errornum,errorindex]=classmeasures(testset_label,predict_label,bestc,bestg);
%% 程序运行计时
toc
其中有函数是用于分类的效果分析,自己写的,没有就直接屏蔽就 行了。
【2010-07-03 编辑】
加载中,请稍候......