Weka J48 Klassifizierer: Nicht in den Griff numerische Klasse?

Ich bin jetzt versuchen zu bauen J48 (C4.5) Klassifikator-Modell auf mein training Daten mit Weka.

Erstens Tue ich das, was zu gehen scheint OK:

java -Xmx10G -cp /weka/weka.jar
weka.core.Wandler.TextDirectoryLoader -dir /home/test/cats >
/home/test/Katzen.arff

Diese scheint zu gehen, auch OK:

java -Xmx10G -cp /weka/weka.jar
weka.Filter.unbeaufsichtigt.Attribut.StringToWordVector -ich
/home/test/Katzen.arff -o /home/test/Katzen-Vektor.arff

Dies nicht gehen, OK:

java -Xmx10G -cp /weka/weka.jar weka.Klassifikatoren.Bäume.J48 -t
/home/test/Katzen-Vektor.arff -d /home/test/Katzen.Modell

Es gibt die folgende Fehlermeldung:

weka.core.UnsupportedAttributeTypeException: weka.classifiers.trees.j48.C45Prune                 ableClassifierTree: Cannot handle numeric class!
        at weka.core.Capabilities.test(Capabilities.java:954)
        at weka.core.Capabilities.test(Capabilities.java:1110)
        at weka.core.Capabilities.test(Capabilities.java:1023)
        at weka.core.Capabilities.testWithFail(Capabilities.java:1302)
        at weka.classifiers.trees.j48.C45PruneableClassifierTree.buildClassifier                 (C45PruneableClassifierTree.java:116)
        at weka.classifiers.trees.J48.buildClassifier(J48.java:236)
        at weka.classifiers.Evaluation.evaluateModel(Evaluation.java:1076)
        at weka.classifiers.Classifier.runClassifier(Classifier.java:312)
        at weka.classifiers.trees.J48.main(J48.java:948)

So versuchte ich dann dieses:

java -Xmx10G -cp /weka/weka.jar weka.Klassifikatoren.Bäume.J48 -t
/home/test/Katzen.arff -d /home/test/Katzen.Modell

Die gibt auch die Fehlermeldung:

weka.core.UnsupportedAttributeTypeException: weka.classifiers.trees.j48.C45PruneableClassifierTree: Cannot handle string attributes!
        at weka.core.Capabilities.test(Capabilities.java:980)
        at weka.core.Capabilities.test(Capabilities.java:869)
        at weka.core.Capabilities.test(Capabilities.java:1085)
        at weka.core.Capabilities.test(Capabilities.java:1023)
        at weka.core.Capabilities.testWithFail(Capabilities.java:1302)
        at weka.classifiers.trees.j48.C45PruneableClassifierTree.buildClassifier(C45PruneableClassifierTree.java:116)
        at weka.classifiers.trees.J48.buildClassifier(J48.java:236)
        at weka.classifiers.Evaluation.evaluateModel(Evaluation.java:1076)
        at weka.classifiers.Classifier.runClassifier(Classifier.java:312)
        at weka.classifiers.trees.J48.main(J48.java:948)

Natürlich habe ich vorbereitet, die Daten irgendwie falsch (BTW die Eingabe von text-Dateien in den Unterverzeichnissen, die mit dem Namen der Kategorien, die ich will). Aber ich dachte, ich folgte den Anweisungen auf dem Weka-Wiki:
Weka Wiki Kategorisieren Von Text-Dateien
Weka Wiki-Primer

Also was mache ich falsch? Ich möchte mit J48, weil es angesichts hoher Genauigkeit auf meine Daten in tests. Also, was muss ich tun, um meine Daten zu bekommen, die Klassifikatoren J48, es zu akzeptieren? Oder brauche ich einen anderen Klassifikator?

Bitte um Hilfe!!

InformationsquelleAutor Alasdair | 2011-10-28
Schreibe einen Kommentar