簡體   English   中英

matlab libsvm:無法預測

[英]matlab libsvm: unable to predict

我在Matlab上使用libsvm。 我想建立一個模型,並使用該模型進行預測。 接線說明svmpredict([predict_label,precision_all,prob_values])的返回為空。 這是我的簡單代碼:

svm_model = svmtrain([train_label],[train],'-t 2, -c 100 -q');
[predict_label, accuracy_all, prob_values] = svmpredict(testlabels,testdata,svm_model,'-q, -b 1');

[predict_label,precision_all,prob_values]是0x0矩陣。 Matlab還會顯示一些警告信息:

Usage: [predicted_label, accuracy, decision_values/prob_estimates] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')
Parameters:
  model: SVM model structure from svmtrain.
  libsvm_options:
    -b probability_estimates: whether to predict probability estimates, 0 or 1 (default 0); one-class SVM not supported yet
Returns:
  predicted_label: SVM prediction output vector.
  accuracy: a vector with accuracy, mean squared error, squared correlation coefficient.
  prob_estimates: If selected, probability estimate vector.

誰能幫我?

SVM模型中的q是什么? 它的價值在哪里?

SVM中有兩個參數需要很好地定義c和g,您已經將c的值設置為100,但是q的值沒有值(或者必須是g,稱為gamma)

這就是你需要的

 cmd = ['-t 2 -c ',num2str(C), ' -g ',num2str(gamma) ];
model = svmtrain2(trainClass, trainData, cmd);
[predClass, acc, decVals] = svmpredict(testClass, testData, model);

我也認為svmtrain必須重命名為svmtrain2,以避免與matlab的svmtrain功能混淆。

暫無
暫無

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

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