![](/img/trans.png)
[英]Libsvm regression in Matlab predict same values for test set instances
[英]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.