|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
比如有这样两个数组(实际肯定比这个的数据量要大的多)
x=[1 2 3 4 5 6 7 8 9 10]
y=[11 12 13 × 15 16 17 18 19 20]
在这里y的第四个数不知道,需要对这个数进行预测、恢复。那么训练的时候就训练样本
x_train=[1 2 3 5 6 7 8 9 10] %挖除了第四个数
y_train==[11 12 13 15 16 17 18 19 20] %挖除了第四个数
设定好参数后开始训练,
[nsv beta bias] = svr(x_train,y_train,ker,C,loss,e); % 训练样本数据
y_test = svroutput(x_train,4,ker,beta,bias); % 测试样本数据
但是目标输出y_test的值怎么会是0呢?
源代码如下:
clc
clear
close all
x=[1 2 3 4 5 6 7 8 9 10]
y=[11 12 13 15 16 17 18 19 20]
x_train=[1 2 3 5 6 7 8 9 10]' %挖除了第四个数
y_train=[11 12 13 15 16 17 18 19 20]' %挖除了第四个数
%定义SVR 参数
global p1 ;
p1=3
ker='erbf'; % 核函数 k = exp(-(u-v)*(u-v)'/(2*p1^2))
C=10000;
e=108;
loss='einsensitive';
%训练支持向量机
[nsv beta bias] = svr(x_train,y_train,ker,C,loss,e); % 训练样本数据。
y_test = svroutput(x_train,4,ker,beta,bias); % 测试样本数据
plot(x,[11 12 13 y_test 15 16 17 18 19 20] ,'o') |
|