教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

matlab解决svr代码(2)

来源:网络收集 时间:2026-09-07
导读: train_label=data(1:50,1); train_data=data(1:50,2:14); [bestCVmse,bestc,bestg,ga_option]=gaSVMcgForRegress(train_label,train_data) cmd = ['-c ',num2str(bestc),' -g ',num2str(bestg),' -s 3 –t 2 -p 0.0

train_label=data(1:50,1); train_data=data(1:50,2:14);

[bestCVmse,bestc,bestg,ga_option]=gaSVMcgForRegress(train_label,train_data) cmd = ['-c ',num2str(bestc),' -g ',num2str(bestg),' -s 3 –t 2 -p 0.01']; model=svmtrain(train_label,train_data,cmd);

[ptrain,mse,dec_value]=svmpredict(train_label,train_data,model); 结果:

bestCVmse = 1.8944e+004 bestc = 59.5370 bestg = 778.3573 ga_option =

maxgen: 200 sizepop: 20

ggap: 0.9000 cbound: [0 100] gbound: [0 1000] v: 5

Mean squared error = 10426.1 (regression)

Squared correlation coefficient = 0.622133 (regression)

3.基于pso寻优(在这里使用启发式算法PSO来进行参数寻优,用网格划分(grid search)来寻找最佳的参数c和g,虽然采用网格搜索能够找到在CV意义下的最高的分类准确率,即全局最优解,但有时候如果想在更大的范围内寻找最佳的参数c和g会很费时,采用启发式算法就可以不必遍历网格内的所有的参数点,也能找到全局最优解) 代码:

train_label=data(1:50,1); train_data=data(1:50,2:14);

[bestCVmse,bestc,bestg,pso_option]=psoSVMcgForRegress(train_label,train_data) cmd = ['-c ',num2str(bestc),' -g ',num2str(bestg),' -s 3 –t 2 -p 0.01']; model=svmtrain(train_label,train_data,cmd);

[ptrain,mse,dec_value]=svmpredict(train_label,train_data,model); 结果:

bestCVmse = 1.5761e+004 bestc = 49.4305 bestg = 0.0100 pso_option =

c1: 1.5000 c2: 1.7000 maxgen: 200 sizepop: 20

k: 0.6000 wV: 1 wP: 1 v: 5 popcmax: 100 popcmin: 0.1000 popgmax: 1000 popgmin: 0.0100

Mean squared error = 12480.9 (regression)

Squared correlation coefficient = 0.434221 (regression) 注意:仍是以前50组样本为例

Part3:主元分析

仍然以RBF为核函数,进行主元分析之后参数优化,最终得到MSE 代码:

train_label=data(1:50,1); train_data=data(1:50,2:14); test_label=data(51:100,1); test_data=data(51:100,2:14);

[train_pca,test_pca] = pcaForSVM(train_data,test_data,97);%主元分析 [bestmse,bestc,bestg] = SVMcgForRegress(train_label,train_pca) cmd = ['-c ',num2str(bestc),' -g ',num2str(bestg),' -s 3 –t 1 -p 0.01']; [ptrain,mse,dec_value]=svmpredict(train_label,train_pca,model); 结果:

Mean squared error = 12555.9 (regression)

Squared correlation coefficient = 0.552186 (regression)

matlab解决svr代码(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/605167.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)