Wenn wir für Weka Explorer (GUI) einen 10-fachen Lebenslauf für eine gegebene ARFF -Datei machen, dann ist der Weka Explorer (soweit ich das sehen kann) das Durchschnittsergebnis für alle die 10 Falten.
Q. Gibt es eine Möglichkeit, die Ergebnisse jeder Falte zu erhalten? Zum Beispiel brauche ich die Fehlerraten (falsch identifizierte Instanzen) für jede Falte.
Hilfe geschätzt.
Ich denke, das ist mit Wekas GUI möglich. Sie müssen den Experimentator anstelle des Explorers verwenden. Hier sind die Schritte:
Experimenter
in der GUI-Auswahl
New
button @ oben rechts) Results Destination
ein, um die Ergebnisse in Number of (cross-validation) folds
nach Belieben ein (experimentiere mit 2 Falten für einfache Ergebnisse) Number of repetitions
(ich empfehle 1 für den Start von) Run
Tab und Start
des Experiments und warte, bis es fertig ist Analyse
und importieren Sie die Testergebnisse, indem Sie auf Experiment
(oben rechts) klicken.
Row
wählen Sie: Fold
Column
wählen Sie: Percent_incorrect
oder Number_incorrect
(oder ein anderes Maß, das Sie sehen möchten) Wenn wir für Weka Explorer (GUI) einen 10-fachen Lebenslauf für eine gegebene ARFF -Datei machen, dann ist der Weka Explorer (soweit ich das sehen kann) das Durchschnittsergebnis für alle die 10 Falten.
Q. Gibt es eine Möglichkeit, die Ergebnisse jeder Falte zu erhalten? Zum Beispiel brauche ich die Fehlerraten (falsch identifizierte Instanzen) für jede Falte.
Hilfe geschätzt.
Weka Explorer hat keine Option, die Ergebnisse für einzelne Falten anzugeben, wenn die Option crossvalidation verwendet wird. Es gibt einige Problemumgehungen. Wenn Sie explizit keinen Code ändern möchten, müssen Sie manuell fummeln, aber ich denke, das gibt mehr oder weniger das, was Sie wollen
Dies entspricht jedoch nicht unbedingt einer 10-fachen Kreuzvalidierung, da sich die Pseudofalten, die Sie auf diese Weise machen, überlappen könnten.
Eine Alternative, die der Crossvalidierung gleichkommt, aber umständlicher ist, wäre, 10 Falten manuell zu machen, indem Sie den unüberwachten Instanzfilter %code% oder %code% verwenden. Generiere und speichere 10 Trainingssätze und 10 Testsets. Lade dann für jede Falte den Trainingssatz, wähle %code% in der Registerkarte "Klassifizieren" und wähle die entsprechende Testfalte aus.
Weka Explorer hat keine Option, die Ergebnisse für einzelne Falten anzugeben, wenn die Option crossvalidation verwendet wird. Es gibt einige Problemumgehungen. Wenn Sie explizit keinen Code ändern möchten, müssen Sie manuell fummeln, aber ich denke, das gibt mehr oder weniger das, was Sie wollen
Cross-validation
, wählen Sie Percentage split
und setzen Sie es auf 90% More options...
und ändern Sie den Wert Random seed for XVal / % Split
in etwas, das Sie noch nicht verwendet haben. Dies entspricht jedoch nicht unbedingt einer 10-fachen Kreuzvalidierung, da sich die Pseudofalten, die Sie auf diese Weise machen, überlappen könnten.
Eine Alternative, die der Crossvalidierung gleichkommt, aber umständlicher ist, wäre, 10 Falten manuell zu machen, indem Sie den unüberwachten Instanzfilter RemoveFolds
oder RemoveRange
verwenden.
Generiere und speichere 10 Trainingssätze und 10 Testsets. Lade dann für jede Falte den Trainingssatz, wähle Supplied test set
in der Registerkarte "Klassifizieren" und wähle die entsprechende Testfalte aus.
Tags und Links weka machine-learning