0
我正在使用LibSVM來執行一些多類分類。我使用LibSVM的MATLAB接口來訓練模型。然後,我將這個模型保存爲可以在C中識別的格式。我現在想用C中的svm_predict進行分類。我無法重現我在MATLAB中看到的結果。事實上,無論我輸入什麼測試向量(即使是一個零向量),我都可以得到相同的類輸出。我認爲問題出在我將測試向量x加載到svm_node結構中的方式。以下是代碼片段。請告訴我,如果這是正確的方式,或者我失去了一些東西。使用LibSVM進行分類
struct svm_model *libsvm_model = svm_load_model('mymodel.svm');
struct svm_node x[2001]; // this is for one feature vector of size 2000x1
int index = 1;
int i = 0;
for (i = 0; i < features.size(); i++) {
x[i].index = index;
x[i].value = features.at(i);
index = index + 1;
}
x[i+1].index = -1;
x[i+1].value = '?';
double result = svm_predict(libsvm_model, x);