SVM-Klassifizierung mit Caret-Fehler (Basic)

8

Ich mache hier wahrscheinlich einen sehr einfachen (und dummen) Fehler, aber ich kann es nicht herausfinden. Ich spiele mit Daten von Kaggle ( Ziffernerkenner ) und versuche, SVM mit dem Caret-Paket zu verwenden eine Klassifizierung vornehmen. Wenn ich die Label-Werte einfach als numerischen Typ in die Funktion einfüge, scheint die Funktion train in Caret standardmäßig auf Regression zurückzugreifen, und die Leistung ist ziemlich schlecht. Was ich als nächstes versucht habe, ist, es in einen Faktor mit der Funktion factor() zu konvertieren und die SVM-Klassifizierung zu versuchen und auszuführen. Hier ist ein Code, wo ich Dummy-Daten erzeuge und dann in Caret stecke:

%Vor%

Ich bekomme diesen Fehler:

%Vor%

Kann mir jemand sagen, was ich falsch mache? Danke!

    
mchangun 17.12.2012, 14:47
quelle

1 Antwort

2

Sie haben 10 verschiedene Klassen und fügen nur 10 Fälle in train() ein. Dies bedeutet, dass Sie beim Neubemustern häufig nicht alle 10 Klassen in einzelnen Instanzen Ihres Klassifikators haben. train() hat Schwierigkeiten, die Ergebnisse dieser SVMs unterschiedlicher Kategorie zu kombinieren.

Sie können dies durch eine Kombination aus Erhöhen der Anzahl der Fälle, Verringern der Anzahl der Klassen oder sogar Verwenden eines anderen Klassifikators beheben.

    
MattBagg 26.12.2012, 20:54
quelle

Tags und Links