Ho una domanda sul metodo svm_predict() in libsvm.libsvm prevedere metodo confusione
Il README ha questo codice di esempio QuickStart:
>>> y, x = [1,-1], [{1:1, 3:1}, {1:-1,3:-1}]
>>> prob = svm_problem(y, x)
>>> param = svm_parameter('-c 4 -b 1')
>>> m = svm_train(prob, param)
>>> p_label, p_acc, p_val = svm_predict(y, x, m)
Ora capisco che y è un elenco di categorie che sono associati con i dizionari in x. Capisco anche la parte svm_train.
La parte che non ha senso è che in svm_predict, sono tenuto a fornire i 'valori effettivi' da y, insieme con i dati di test in x. Pensavo che l'idea fosse che non conosco le classificazioni dei dati dei test prima del tempo.
se il mio dati formazione è:
y = [1, 2, 3]
x = [{1:1}, {1:10}, {1:20}]
, ma i dati di prova è:
z = [{1:4}, {1:12}, {1:19}]
Allora perché sto tenuti a passare in veri valori di z in svm_predict() come:
a, b, c = svm_predict(y, z, m)
io non ho intenzione di conoscere i veri valori per z - questo è ciò che la previsione è per. Devo semplicemente inserire valori di classificazione arbitrari per y quando eseguo una previsione, o mi manca completamente qualcosa?
Grazie a tutti
senso, grazie. – apexdodge