LibSVM - 模型为空

时间:2013-08-30 12:57:34

标签: matlab libsvm

我是LibSVM的新手,我想基于3个变量形成的一组训练值来预测某些值。这是训练数据的一个例子(测试类似):

1 2 3 232  
3 4 5 23  
6 7 8 126  
9 10 11 57  
...  

我以下列方式使用了LibSVM:

 param.s=3  
 param.C=max(train_data.y)-min(train_data.x)  
 param.t=2  
 param.g=2^-13  
 param.p=2^17
 param.libsvm=['-s',param.s,'-t',param.t,'-c',param.C,'-g',param.g,'-p',param.p]  
 model=svmtrain[train_data.y,train_data.x,param.libsvm]

train_data.y是1000x1的向量,而train_data.x是矩阵1000x3。问题是“模型”是空的,然后我有预测部分:

[y_hat,accuracy,projection]=svmpredict(test_data.y,test_data.x,model);

其中test_data.y是3998x1向量,而test_data.x是3998x3矩阵。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

问题出在以下几行:

param.libsvm=['-s',param.s,'-t',param.t,'-c',param.C,'-g',param.g,'-p',param.p]  

你不能用这样的数字连接字符串,选项需要空格。 它应该是

param.libsvm=[' -s ',num2str(param.s),' -t ',num2str(param.t),' -c ',num2str(param.C),' -g ',num2str(param.g),' -p ',num2str(param.p)]