资源简介
现有的LSSVM工具箱,自带PSO优化,参数无需调整,Matlab编写的人工蜂群算法代码,含详细注释和测试函数,简短易懂,执行顺畅。可用于解决无约束优化问题。
代码片段和文件信息
%% LS-SVM分类测试程序代码模板
%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\桌面\训练数据\数据\trainone.txt‘);
Y0=load(‘C:\Documents and Settings\Administrator\桌面\训练数据\数据\testone.txt‘);
trainset=X0(:4:end);
trainset_label=X0(:1);
testset=Y0(:4:end);
testset_label=Y0(:1);
%% 样本集各维度可视化
featuredisplay(trainsettrainset_labeltestsettestset_label1);
%% 计数样本类别数
labelnum=countlabelnum(testset_label);
%% 原始数据可视化
figure;
boxplot(trainset‘orientation‘‘horizontal‘);
grid on;
title(‘Visualization for original data‘);
%% 数据预处理
%归一化处理
[trainsettestsetps] = scaleForLSSVM(trainsettestset01);
% %% 归一化后可视化
% figure;
% boxplot(trainset‘orientation‘‘horizontal‘);
% grid on;
% title(‘Visualization for scale data‘);
% %% 样本集归一化后各维度可视化
% featuredisplay(trainsettrainset_labeltestsettestset_label1);
%% 降维处理
%1.pca处理
[trainsettestset] = pcaForLSSVM(trainsettestset);
% %2.ica处理
% [trainsettestset] = fasticaForLSSVM(trainsettestset);
% %3.dct处理
% [trainsettestset] = DCTforSVM(trainsettestset);
%% 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)
% 编码
[Yccodebookold_codebook] = code(trainset_labelcodefct);
%% PSO验证优化参数
[bestCVaccuarcybestcbestgpso_option] = psoLSSVMcgForClass(trainsettrainset_labelYc);
% 训练生成模型
[alphab]=trainlssvm({trainsetYctypebestcbestgkernel_typepreprocess});
%编码分类结果
Yd0 = simlssvm({trainsetYctypebestcbestgkernel_typepreprocess}{alphab}testset);
% %新加的行,为了画ROC曲线
% Zt=latentlssvm({trainsettrainset_labeltypegamsig2kernel_type}{alphab}testset);%X-训练样本集,Y-训练样本集类别号,XX-测试样本集
% [areasethresholdsoneMinusSpecSens]=roclssvm(ZtYY);%作图用的最后两个输出oneMinusSpec(横轴),Sens(纵轴),YY-测试样本集类别号
predict_label = code(Yd0old_codebook[]codebook);%解码分类结果
%% ROC曲线
plotLSSVMroc(testset_labelpredict_labellabelnum);
%% 分类效果可视化、正确率
[rightpercenttestnumerrornumerrorindex]=classmeasures(testset_labelpredict_labelbestcbestg);
%% 程序运行计时
toc
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5831 2010-11-24 16:05 PSO优化LSSVM参数\psoLSSVMcgForClass.m
文件 2686 2010-11-24 16:05 PSO优化LSSVM参数\a_template_flow_usingPSOLSSVM_class.m
目录 0 2012-03-12 20:42 PSO优化LSSVM参数
----------- --------- ---------- ----- ----
8517 3
评论
共有 条评论