M5P Baummodell aus weka.classifiers: Python-weka-wrapper Jede Zeile in meiner ARFF Datei besteht aus 6 mit Attributen 6.es Attribut der Zielgröße ist, für die das Modell trainiert wird. Ich benutze weka.core.converters.ArffLoader um die arff-Datei zu trainieren. Nach dem Training, wenn ich mit einigen Testdaten Vorhersagen treffen möchte, erstelle ich Instanzen und übergebe sie an das gebaute Modell, um vorherzusagen. In den Instanzen übergebe ich nur die Werte der 5 Attribute und nicht den Wert der Zielvariablen. Ich bin eine Java-Ausnahme bekommen:Regression: Testdaten für die Vorhersage erfordern Klassenwert? in Weka
Traceback (jüngste Aufforderung zuletzt): Datei "C: /Users/Sethuraman/PycharmProjects/Test_printer/m_M5P.py", Linie 85, in pred_dict1 [index + 1 ] = cls.classify_instance (Instanz) Datei "C: \ Benutzer \ Sethuraman \ Anaconda2 \ lib \ site-packages \ python_weka_wrapper-0.3.8-py2.7.egg \ weka \ classifiers.py", Linie 105, in classify_instance return self .__ zu klassifizieren (inst.jobject) Datei "C: \ Benutzer \ Sethuraman \ Anaconda2 \ lib \ site-packages \ javabridge-1.0.14-py2.7-win-amd64.egg \ javabridge \ jutil.py" , Zeile 852, in Fn raise JavaException (x) javabridge.jutil.JavaException: Src und Dest unterscheiden sich in # o f Attribute: 5! = 6
Warum sollte ich den Zielvariablenwert angeben? Ist es notwendig, den Zielwert auch zu übergeben? Im Wesentlichen nach dem Training sollte das Modell den Zielwert vorhersagen. Wenn ja, warum? Wenn nein, wie geht man damit um? Bitte helfen!
Der Link, den Sie für den Filter hinzufügen zur Verfügung gestellt haben, dient zur Implementierung in Java. Kannst du mir bitte sagen, wie man das in Py-Weka implementiert? ein Beispiel nennen? Ich verwende [dieses Beispiel] (https://github.com/fracpete/python-weka-wrapper3-examples/blob/master/src/wekaexamples/core/dataset.py) zum Erstellen von Attributen und Instanzen, aber für einen numerischen Wert Attribut, wie '?' auf dem Weg? – Sethuraman
Danke für die Antwort.Es funktionierte :-) – Sethuraman