2014-01-03 2 views
4

В последней версии libsvm (v3.17 2013.04.01) метод «предсказать» в классе 'svm_model' удален.Как использовать функцию «предсказать» svm_model в libsvm?

Альтернативным методом является метод 'svm_predict' в модуле 'svmutil'. Но я не могу понять данные параметров (y, x) этого метода.

def svm_predict(y, x, m, options=""):

""" 
svm_predict(y, x, m [, options]) -> (p_labels, p_acc, p_vals) 

Predict data (y, x) with the SVM model m. 
options: 
    -b probability_estimates: whether to predict probability estimates, 
     0 or 1 (default 0); for one-class SVM only 0 is supported. 
    -q : quiet mode (no outputs). 

The return tuple contains 
p_labels: a list of predicted labels 
p_acc: a tuple including accuracy (for classification), mean-squared 
     error, and squared correlation coefficient (for regression). 
p_vals: a list of decision values or probability estimates (if '-b 1' 
     is specified). If k is the number of classes, for decision values, 
     each element includes results of predicting k(k-1)/2 binary-class 
     SVMs. For probabilities, each element contains k values indicating 
     the probability that the testing instance is in each class. 
     Note that the order of classes here is the same as 'model.label' 
     field in the model structure. 
""" 

ответ

5

«у» являются этикетки и соответствуют с точки данных в «х»

Вот пример того, что я сделал в прошлом месяце:

#!/usr/bin/python 
from svmutil import * 

model = svm_load_model("train_yesterday.model") 

values=[{1:1.37599, 2:1.37597, 3:1.37597, 4:1.37587, 5:1.37586}] 
newcurve = [] 

for j in range(1,121): 
    a,b,val = svm_predict([1],values,model) 
    newval = val[0][0] 

    for i in range(1,5): 
     values[0][i] = values[0][i+1] 
    values[0][5] = newval 
+0

Если мы хотим предсказать классификация для точек в «X», зачем вводить соответствующие «y»? Разве это не то, что мы пытаемся найти? – mxdg

+0

@mxdg Это необязательно, если вы хотите получить точность модели, иначе вы можете их игнорировать. – Pedrom

Смежные вопросы