2013-11-28 11 views
7

Ich habe einen Datensatz mit einigen Nennwerten als Features. Der Trainingssatz, den ich habe, hat eine Reihe von Werten für die nominellen Merkmale, die in meinem Testset fehlen. Zum Beispiel meine Funktion in der Trainingsmenge entsprichtUnsichtbare Sollwerte in Weka

@attribute h4 {br,pl,com,ro,th,np}

und die gleiche Funktion in der eingestellten Test hat

@attribute h4 {br,pl,abc,th,def,ghi,lmno}

ich aus diesem Grund glauben, weka ist mir nicht erlaubt zu Überprüfe das Modell, das ich auf meinem Trainingssatz auf meinem Testgerät aufgebaut habe. Gibt es einen Weg dahin? Fehle ich etwas?

EDIT: Ich verwende einen RandomForest Klassifikator.

Dank

+1

Sie sollten die gleichen Attributdeklarationen im Zug und im Testsatz verwenden können. Es ist kein Problem, wenn nicht alle deklarierten Werte in den Daten erscheinen. –

Antwort

4

Weka sucht alle nominal in Testset verwendeten Werte auch in der Ausbildung gesetzt werden existieren, weil der Klassifikator, bevor sie die Prognosen lernen sollten.

Auch Weka verwendet Nennwerte mit ihren Indizes; Daher ist es wichtig, die gleiche Reihenfolge für nominale Werte desselben Attributs zu verwenden, um zuverlässige Ergebnisse zu erhalten.

In Ihrem Fall, verwenden Sie einfach die gleichen Werte - die alle Werte umfasst - in der gleichen Reihenfolge für Trainings-Set und Test-Set.

Ihre kombinierten Werte {br,pl,com,ro,th,np,abc,th,def,ghi,lmno} können sowohl für das Trainingset als auch für das Testset verwendet werden.