ich ein DRF-Modell mit h2o flow
erzeugt verwenden. Wenn frische Eingangsdaten gegen dieses Modell läuft (mit seiner MOJO in einem Java-Programm mit den EasyPredictModelWrapper), gibt es eine große Anzahl von UnknownCategoricalLevels
(Prüfung mit den getUnknownCategoricalLevelsSeen()
und getUnknownCategoricalLevelsSeenPerColumn()
methods).Wie UnknownCategoricalLevels die Vertrauenswerte von H2O Modellvorhersagen beeinflusst
für Meine Abhilfe war nur die Prognosen zu verwenden, die eine Vorhersage Vertrauen über einer bestimmten Schwelle (etwa 0,90) hatte. Ie. Die vom Modell ausgewählte classProbability muss größer als der zu verwendende Schwellenwert sein.
Meine Fragen sind:
- Ist diese Lösung verquer (.. Also geht nicht tatsächlich/Abhilfe das Problem (zB
unknownlevels
wirken sich nicht auf tatsächlich die Klassenwahrscheinlichkeitswerte)) oder ist es ein gültig Workaround für das Problem? - Gibt es eine bessere Möglichkeit, dieses Problem anzugehen?
Danke.
Nur für zusätzliche Klarstellung, wenn Sie * sagen: "Also, wenn Sie die Schwelle für die Zeilen mit unbekannten Werten ändern, ist es in Bezug auf max-F1 (nicht 0.5). "* Meinst du das, wenn ich das MOJO des Modells im Java-Code verwenden und einen benutzerdefinierten Schwellenwert (z. B. max_mean_perclass_accuracy) von t0 mit einer Zeile wie' return (p.classProbabilities [1 ]> = t0)? 1: 0; ', dann würde das Modell tatsächlich einen Schwellenwert von maxF1 + t0 verwenden oder nur, dass der Standardgrenzwert maxF1 ist? Vielen Dank. – lampShadesDrifter
Ich habe das Wort "default" in "built-in" geändert. Der MOJO weiß nur, dass max-F1 eingebacken ist. Die vorhergesagte Klasse aus dem MOJO basiert auf max-F1. Sie müssen also Ihren eigenen Code schreiben, der p.classProbabilities [1] vergleicht, um einen anderen Schwellenwert für die Entscheidung über die vorhergesagte Klasse zu verwenden. – TomKraljevic