Tengo una pregunta sobre el método svm_predict() en libsvm.predicción de método libsvm confusión
El README tiene este código de ejemplo de inicio rápido:
>>> 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)
Ahora entiendo que y es una lista de categorías que están asociados con los diccionarios en x. También entiendo la parte svm_train.
La parte que no tiene sentido es que en svm_predict, estoy obligado a proporcionar los 'valores verdaderos' de y, junto con los datos de prueba en x. Pensé que la idea era que no sabía las clasificaciones de los datos de prueba antes de tiempo.
si mi datos de entrenamiento es:
y = [1, 2, 3]
x = [{1:1}, {1:10}, {1:20}]
pero mi datos de prueba es:
z = [{1:4}, {1:12}, {1:19}]
Entonces por qué estoy obligado a pasar en los verdaderos valores de z en svm_predict() como:
a, b, c = svm_predict(y, z, m)
No voy a saber los verdaderos valores de z, para eso es la predicción. ¿Debo simplemente poner valores de clasificación arbitrarios para y cuando realizo una predicción, o me falta algo por completo?
Gracias a todos
tiene sentido, gracias. – apexdodge