问题一:Error: C<=0
方法:根据你使用的参数寻优方法,修改参数范围。比如GA方法寻优,找到源文件gaSVMcgForClass.m ,修改C的取值范围为大于0的数即可。
问题二:svmtrain()返回值model为空。
方法:svmtrain参数格式错误。例子:
cmd = ['-c ',num2str(bestc),' -g ',num2str(bestg),'-s 0 -t 2'];
model = svmtrain(trainLabel,trainData,cmd);
cmd表示格式字符串,注意-c后面有一个空格,-g前后都有空格,这样形成的字符串才是符合要求的字符串。若出现此问题时,可以将cmd输出,观察格式是否有误。
问题三:svmpredict()返回值predict_label为空。
方法:版本问题函数返回值个数不同。libsvm3.22版本需要三个返回值!