轉自:http://blog.sina.com.cn/s/blog_4d7c97a00101bwz1.html
本文主要介紹了SVM工具箱中svmtrain和svmpredict兩個主要函數:
(1)model= svmtrain(train_label, train_matrix, ['libsvm_options']);
其中:
train_label表示訓練集的標簽。
train_matrix表示訓練集的屬性矩陣。
libsvm_options是需要設置的一系列參數,各個參數可參見《libsvm 參數說明.txt》,里面介紹的很詳細,中英文都有的。如果用回歸的話,其中的-s參數值應為3。
model:是訓練得到的模型,是一個結構體(如果參數中用到-v,得到的就不是結構體,對於分類問題,得到的是交叉檢驗下的平均分類准確率;對於回歸問題,得到的是均方誤差)。
(2)[predicted_label, accuracy/mse, decision_values]=svmpredict(test_label, test_matrix, model, ['libsvm_options']);
其中:
test _label表示測試集的標簽(這個值可以不知道,因為作預測的時候,本來就是想知道這個值的,這個時候,隨便制定一個值就可以了,只是這個時候得到的mse就沒有意義了)。
test _matrix表示測試集的屬性矩陣。
model是上面訓練得到的模型。
libsvm_options是需要設置的一系列參數。
predicted_label表示預測得到的標簽。
accuracy/mse是一個3*1的列向量,其中第1個數字用於分類問題,表示分類准確率;后兩個數字用於回歸問題,第2個數字表示mse;第三個數字表示平方相關系數(也就是說,如果分類的話,看第一個數字就可以了;回歸的話,看后兩個數字)。 decision_values表示決策值(一般好像不怎么用)。