我是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矩阵。 谢谢你的帮助。
答案 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)]