我想在MATLAB中使用使用LibSVM的單類分類。在libsvm matlab中標記一個用於交叉驗證的類
我想訓練數據,並使用交叉驗證,但我不知道我必須做的標記異常值。
如果例如我有這樣的數據:
trainData = [1,1,1; 1,1,2; 1,1,1.5; 1,1.5,1; 20,2,3; 2,20,2; 2,20,5; 20,2,2];
labelTrainData = [-1 -1 -1 -1 0 0 0 0];
(前四個是1類的例子,其他四個爲異常值的實例,只是爲了交叉驗證)
我使用此訓練模型:
model = svmtrain(labelTrainData, trainData , '-s 2 -t 0 -d 3 -g 2.0 -r 2.0 -n 0.5 -m 40.0 -c 0.0 -e 0.0010 -p 0.1 -v 2');
我不確定使用哪個值來標記1級數據以及使用哪些異常值。有人知道如何做到這一點?
在此先感謝。 -Jessica
檢查下面的帖子。一個級別的svm,顧名思義,你只在訓練集中有一個類http://stackoverflow.com/questions/14588967/one-class-svm-libsvm – Cici
謝謝,但是,我仍然有下一個疑問。所以不可能在1類/異常值上使用交叉驗證?我使用了weka包裝器,如果我使用標有'?'的實例他們在訓練過程中被忽略。 – jessica
另外,這個標籤是否適合這個課程?只是任何數字,還是應該嚴格使用-1或特定值? – jessica