Wie man prädikation Wert für eine Instanz in weka?
Arbeite ich an Weka und müssen, um die Ausgabe der prädikation Werte (Wahrscheinlichkeiten) der einzelnen labels, die für jede test-Instanz.
In der GUI gibt es eine option in klassifizieren tab (klassifizieren -> Optionen -> Ausgabe des vorhergesagten Werts), das diese Arbeit übernimmt, indem er die Vorhersage der Wahrscheinlichkeiten für jedes label, sondern wie man dies in java-code. Ich erhalten möchten, Wahrscheinlichkeit-Werte für jeden label nach der Einstufung ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem folgenden code wird in einer Menge von Trainings-Instanzen und gibt die vorhergesagte Wahrscheinlichkeit für eine bestimmte Instanz.
Die Methode "distributionForInstance" funktioniert nur für Klassifikatoren in der Lage die Ausgabe Verteilung Vorhersagen. Sie können Lesen hier.
Denke ich, dass ich die Lösung gefunden.
Dem Trainings-set und test-set müssen gleich sein: gleicher header, gleiche Namen von Parametern, gleiche Reihenfolge. Nur ändern sich die zahlen. Und die Frage ist: warum muss ich die Klasse im test-set, wenn ich es nicht kennen, und genau das ist es, was ich will zu erhalten? Es scheint, dass die Methode braucht etwas, aber wenn man einen Blick auf
classModel.distributionForInstance(dataModel.instance(0))
es gibt Ihnen die Voraussage über Ihre Klassen mit einem array von double.
Also, ist es notwendig, einige der Werte von den Klassen in die test-und später die
‘distributionForInstance’
gibt Ihnen das wirkliche Ergebnis für Ihre Klassen.Vom WEKA-GUI, Klassifizieren Systemsteuerung -> drücken Sie die "Mehr Optionen..." -> Output Vorhersagen -> Wählen Sie "Klartext" - option. Jetzt, klicken Sie mit Links auf "Klartext" und die "outputDistribution" in "True".
Beachten Sie, dass dieser Prozess durchgeführt werden kann, in der letzten WEKA-Versionen, z.B., WEKA-3.8.0.
Grüße,
Martin