2012-04-11 6 views
0

Ich betreibeFehler: Nicht definierte Funktion oder Methode ‚svmtrain‘ für Eingabeargumente vom Typ ‚double‘

SVMStruct = svmtrain(xTrain, yTrain); 

und die Fehler, die ich bekommen ist

Undefined function or method 'svmtrain' for input arguments of type 'double' 

Ich bin ziemlich sicher, dass xTrain und yTrain sind Matrizen aber:

size(xTrain) 
ans = 
544 28 


size(yTrain) 
ans = 
544  1 

Irgendeine Idee, was hier vor sich geht?

+0

wahrscheinlich ist das Problem mit Ihrem Weg. Bitte überprüfen Sie Ihren Pfad. Wenn nicht, ändern Sie ihn ... – lakesh

Antwort

3

Es klingt wie die svmtrain Funktion ist nicht auf Ihrem Weg. Wenn

which svmtrain 

zeigt „svmtrain nicht gefunden“, dann sollten Sie sicherstellen, dass Sie die Bioinformatik-Toolbox haben (Typ ver und sehen, ob es in der Liste enthalten ist), und es ist in Ihrem path.

0

Das zweite Argument zu svmtrain sollte ein Vektor aus ganzen Zahlen oder logischen Werten sein, wobei der Wert in jeder Zeile den Werten in derselben Zeile der Trainingsmatrix/des Trainingsvektors entspricht. Es klingt wie Ihr Fall könnte mehr Regression, wenn Sie versuchen, doppelte Werte für die Trainingsdaten auszugeben. In diesem Fall sollten Sie sich die Regressionsalgorithmen ansehen. Wenn Sie weiterhin eine Klassifizierung mit mehreren Klassen wünschen, müssen Sie Ihre Ausgabe entsprechend anpassen.

+1

Das Übergeben eines Arrays von Doubles an svmtrain erzeugt diesen Fehler nicht; Wenn Sie versuchen, eine Regression mit svmtrain durchzuführen, wird etwa Folgendes angezeigt: "SVMTRAIN unterstützt nur die Klassifizierung in zwei Gruppen. GROUP enthält 544 Gruppen". Ich denke, dass Svmtrain für Doppel funktioniert solange die Größe (unique (yTrain)) == 2. – Richante

0

ja die Bioinformatik-Toolbox ist der Schlüsselpunkt! installieren Sie es mit einem längeren Schlüssel! Sie werden es in Ihrer benutzerdefinierten Auswahl sehen!

1

Es könnte sein, dass Sie die Bioinformatik Toolbox vermissen, wie andere gesagt haben. Es könnte aber auch sein, dass Sie die LibSVM-Bibliothek haben möchten. Dies war der Fall in Code von Drittanbietern, den ich ausführen musste. Holen Sie sich die Bibliothek hier: http://www.csie.ntu.edu.tw/~cjlin/libsvm/