如何解决如何在 libsvm 中使用 svmtrain() 函数进行回归什么设置?什么是标签矩阵形式?
Libsvm 是一个用 C 编写的支持向量机的小型库。这里是我使用的 libsvm 源的链接 ( https://github.com/cjlin1/libsvm )。有人可以更正以下代码中 svmtrain() 函数或标签矩阵中的选项以成功执行回归,因为输出显示优化已完成 #0 迭代。
svmtrain() 函数之前的代码的目标是将水下彩色图像(图像中的一些矩形)的水像素排列成 (m x 3) 矩阵作为数据。标签矩阵是一个 ( m x 1 ) 矢量预设为 1;{ here is the link to the underwater image,equation of red channel compensation }
输出:
optimization finished,#iter = 0
nu = 0.000000
obj = 0.000000,rho = -1.000000
nSV = 0,nBSV = 0
代码如下:
##to load image package
pkg load image
## add the path to the matlab folder inside the LIBSVM package source
addpath('./libsvm-master/libsvm-master/matlab')
##load libsvm
pkg load statistics
##load an under water rgb image
im = imread('9554.png');
im=double(im);
startrow=1;
startcol=1;
endrow=100;
endcol=100;
## save rgb pixels in m x 3 form
data=zeros(endrow*endcol,3,'double');
for i=startrow:endrow
for j=startcol:endcol
data((i-1)*endrow+j,1:3)=im(i,j,1:3);
end
end
## m x 1 label matrix,all preset to 1
label_data=ones(size(data,1),1,'double');
model=svmtrain(label_data,data,'-s 3 -c 1');
解决方法
感谢您提供图片和其他详细信息。
我认为问题很简单,您正在传递一个仅包含单个标签的“标签”矩阵。该算法检测到没有可训练的数据,并停止。
如果您将某些标签设为零,则算法会按预期运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。