簡體   English   中英

如何在 libsvm 中使用 svmtrain() function 進行回歸(什么設置)? label 矩陣形式是什么?

[英]How to do regression using svmtrain() function in libsvm (what settings)? what is the label matrix form?

Libsvm 是一個用 C 編寫的支持向量機的小型庫。 這是我使用的 libsvm 源的鏈接( https://github.com/cjlin1/libsvm )。 有人可以在以下代碼中更正 svmtrain() function 或 label 矩陣中的選項以成功執行回歸,因為 output 表示優化已完成 #0 迭代

svmtrain() function 之前的代碼的目標是將水下彩色圖像(圖像中的一些矩形)的水像素排列成(mx 3)矩陣作為數據。 label 矩陣是一個(mx 1)向量預設為1;{這里是水下圖像的鏈接,紅色通道補償方程}

output:

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');

感謝您提供圖片和額外的細節。

我認為問題只是你傳遞了一個“標簽”矩陣,它只包含一個 label。 該算法檢測到沒有要訓練的數據,然后停止。

如果您將一些標簽設為零,則算法會按預期運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM