J'ai une question à propos de la méthode svm_predict() dans libsvm.libsvm prédit la confusion de méthode
Le README a ce code exemple 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)
Je comprends maintenant que y est une liste de catégories qui sont associées aux dictionnaires dans x. Je comprends également la partie svm_train.
La partie qui n'a pas de sens est que svm_predict, je suis tenu de fournir les « valeurs vraies » de y, ainsi que les données de test dans x. Je pensais que l'idée était que je ne connaissais pas les classifications des données d'essai à l'avance.
si mes données de formation est:
y = [1, 2, 3]
x = [{1:1}, {1:10}, {1:20}]
mais mes données de test:
z = [{1:4}, {1:12}, {1:19}]
Alors, pourquoi dois-je passer en vraies valeurs de z dans svm_predict() comme:
a, b, c = svm_predict(y, z, m)
Je ne vais pas connaître les vraies valeurs pour z - c'est ce que la prédiction est pour. Dois-je simplement mettre des valeurs de classification arbitraires pour y quand j'effectue une prédiction, ou est-ce que je manque complètement quelque chose?
Merci à tous
est logique, merci. – apexdodge