libsvm:优化完成,#iter = 1 nu = nan
libsvm: optimization finished, #iter = 1 nu = nan
我使用 libsvm 在 matlab 中训练一个 svm 模型,但是当我调用
model = svmtrain(labels,Feature,'-t 0');
它给了我这个结果:
*
optimization finished, #iter = 1
nu = nan
obj = nan, rho = nan
nSV = 0, nBSV = 0
Total nSV = 0
我的正样本和负样本的数量几乎相等:935 vs 904 所以这个问题不是由不平衡的训练数据集引起的。我还尝试了其他内核,其中 none 有效。
您不想再使用 svmtrain
。新版本是 templatesvm
paired with fitcecoc
。这两个函数的数据页都非常广泛。
您最终会希望使用您的模型来预测其他数据,为此请使用 predict
。
我最近在尝试 class 化具有两个以上 class 的点云中的地形时遇到了类似的问题。 templatesvm
和 fitcecoc
解决了我的问题。
我使用的代码如下,其中trainingdata
是我的5维训练数据,groups
包含每个class的标签,对应于元胞数组classes
.
SVMtemp = templateSVM('KernelFunction','polynomial','IterationLimit',1e4,...
'PolynomialOrder',4,'OutlierFraction',ExpOut,...
'Standardize',true); % Create SVM template
Model = fitcecoc(trainingdata(:,4:8),groups,'learners',SVMtemp,'ClassNames',...
classes); % Create the SVM model
我使用 libsvm 在 matlab 中训练一个 svm 模型,但是当我调用
model = svmtrain(labels,Feature,'-t 0');
它给了我这个结果:
*
optimization finished, #iter = 1
nu = nan
obj = nan, rho = nan
nSV = 0, nBSV = 0
Total nSV = 0
我的正样本和负样本的数量几乎相等:935 vs 904 所以这个问题不是由不平衡的训练数据集引起的。我还尝试了其他内核,其中 none 有效。
您不想再使用 svmtrain
。新版本是 templatesvm
paired with fitcecoc
。这两个函数的数据页都非常广泛。
您最终会希望使用您的模型来预测其他数据,为此请使用 predict
。
我最近在尝试 class 化具有两个以上 class 的点云中的地形时遇到了类似的问题。 templatesvm
和 fitcecoc
解决了我的问题。
我使用的代码如下,其中trainingdata
是我的5维训练数据,groups
包含每个class的标签,对应于元胞数组classes
.
SVMtemp = templateSVM('KernelFunction','polynomial','IterationLimit',1e4,...
'PolynomialOrder',4,'OutlierFraction',ExpOut,...
'Standardize',true); % Create SVM template
Model = fitcecoc(trainingdata(:,4:8),groups,'learners',SVMtemp,'ClassNames',...
classes); % Create the SVM model