svmtrain 与 fitcsvm 相比
svmtrain compared to fitcsvm
在以前使用但现在弃用的 svmtrain
函数中,如果在一定次数的迭代后无法成功训练 svm,该函数将停止并且 return "No convergence error"。
然而,我注意到较新的 fitcsvm
returns 没有任何错误消息,即使没有达到收敛。如果 svm 训练成功否则是否会强制 fitcsvm
为 return 否则会抛出错误?
不,不支持。它在 IterationLimit
选项下的 documentation of fitcsvm
中说:
The software returns a trained classifier regardless of whether the optimization routine successfully converges.
所以你必须手动抛出错误。或者:
SVMModel = fitcsvm(X,Y)
if not(SVMModel.ConvergenceInfo.Converged)
error('SVM training did not reach convergence')
end
或:
SVMModel = fitcsvm(X,Y)
assert(SVMModel.ConvergenceInfo.Converged, ...
'SVM training did not reach convergence')
在以前使用但现在弃用的 svmtrain
函数中,如果在一定次数的迭代后无法成功训练 svm,该函数将停止并且 return "No convergence error"。
然而,我注意到较新的 fitcsvm
returns 没有任何错误消息,即使没有达到收敛。如果 svm 训练成功否则是否会强制 fitcsvm
为 return 否则会抛出错误?
不,不支持。它在 IterationLimit
选项下的 documentation of fitcsvm
中说:
The software returns a trained classifier regardless of whether the optimization routine successfully converges.
所以你必须手动抛出错误。或者:
SVMModel = fitcsvm(X,Y)
if not(SVMModel.ConvergenceInfo.Converged)
error('SVM training did not reach convergence')
end
或:
SVMModel = fitcsvm(X,Y)
assert(SVMModel.ConvergenceInfo.Converged, ...
'SVM training did not reach convergence')