2016-07-31 21 views
0

Ich habe versucht, InputMappedClassifier von Weka zu Java-Code hinzuzufügen. Weil da meine Daten Train und Test nicht kompatibel sind. Kann jemand mir einen Rat geben, wie man das hinzufügt, bevor ich den Modelfor anderen Klassifizierer verwenden kann?implementieren InputMappedClassifier weka zu Java

Es meinen Code

InputMappedClassifier mapped = new InputMappedClassifier(); 
     mapped.buildClassifier(Training); 
     Instances mappedClassifierDataset = mapped.getModelHeader(Training); 
     for (int i = 0; i < Training.numInstances(); i++) { 
      Instance map = mapped.constructMappedInstance(Training.instance(i)); 
      mappedClassifierDataset.add(map); 
     } 
     System.out.println(mappedClassifierDataset); 

     Classifier classifier = new NaiveBayes(); 
     classifier.buildClassifier(Training); 
     Evaluation eval = new Evaluation(Testing); 
     eval.evaluateModel(classifier, Testing); 
     evalResut = eval.toSummaryString("\nResults\n======\n", false); 
+0

Wie erstellen Sie Test- und Trainingssatz? Zeigen Sie den Code. – xro7

+0

Sorry, aber mein Code für die Erstellung der Daten ist zu lang –

Antwort

0

Ich nehme an, dass Sie die InputMappedClassifier nur, weil die Bahn und Testdatensätzen unvereinbar sind verwenden möchten. Aber Wie viel inkompatible sind diese Datensätze? Der folgende Code funktioniert, wenn Ihre Test datest Merkmale eine Obermenge der Trainingsdatenmenge Funktionen (alle Funktionen in Zug gibt es auch in Test sowie weitere Funktionen) sind

InputMappedClassifier mappedCls = new InputMappedClassifier(); 
    cls.buildClassifier(data); 
    mappedCls.setModelHeader(data); 
    mappedCls.setClassifier(cls); 
    mappedCls.setSuppressMappingReport(true); 
    Evaluation eval = new Evaluation(testdata); 
    eval.evaluateModel(mappedCls, testdata); 

Wenn der Zug-Datensatz Funktionen enthält, die nicht vorhanden sind Im Testdatensatz müssen Sie auch das Gegenteil anwenden, bevor Sie das Modell auswerten.

Ich hoffe, es hilft.

+0

ist anders enthalten Feature Sie meinen, ist so? ** Zug ** Attribut 1 (a, b, c) und ** Test ** Attribut 1 (a, c). Wenn ja, wie gilt das Gegenteil für Testdaten. Tut mir leid, ich bin Neuling für diese –

+0

Hallo Lefteris, kann ich Ihre Antwort über die Anwendung auf entgegengesetzte Daten erhalten? Ich brauche deine Hilfe, Danke –