Matlab FITCSVM的工作原理与SVMTRAIN不同
我之前使用Matlab函数Matlab FITCSVM的工作原理与SVMTRAIN不同,matlab,svm,Matlab,Svm,我之前使用Matlab函数svmtrain实现了一个SVM分类器,并使用svmclassify对一组测试数据进行了分类。我使用以下代码来训练分类器: SVMStruct = svmtrain(features, labels, 'options', options, 'boxconstraint', 10, 'kernel_function', 'rbf', 'rbf_sigma', 27, 'showplot', 'false') 我已将选项参数设置如下: options = statset
svmtrain
实现了一个SVM分类器,并使用svmclassify
对一组测试数据进行了分类。我使用以下代码来训练分类器:
SVMStruct = svmtrain(features, labels, 'options', options, 'boxconstraint', 10, 'kernel_function', 'rbf', 'rbf_sigma', 27, 'showplot', 'false')
我已将选项
参数设置如下:
options = statset('MaxIter', Inf)
由于Matlab停止了对svmtrain
的支持,我尝试按照它的建议转到fitcsvm
。我使用了以下代码:
SVMModel = fitcsvm(features, labels, 'IterationLimit', Inf,'boxconstraint', 10, 'KernelFunction', 'rbf', 'KernelScale', 27)
后者的问题是收敛速度太快,由于DeltaGradient的收敛,消息退出活动集。
,当我使用predict
函数对一组测试数据进行分类时,它不会产生与我以前从svmtrain
和svmclassify
获得的相同的好结果。
是什么导致了这个问题?我是否正确使用了fitcsvm
功能