Frage zum Formeldepot, Generierung von Python-Code mit Fehler „Formelauswertung erfordert Implementierung des Operators „IfMZ““Ich verwende JMPpro 15 mit dem Boosted Tree-Modell, um eine Zielvariable vorherzusagen. Wenn ich versuche, mithilfe des Formeldepots Python-Code zur Anwendung in einer Python-Umgebung zu generieren, wird die JMP-Warnmeldung „Die Formelauswertung erfordert die Implementierung des Operators „IfMZ“ und der Python-Code funktioniert nicht, weil er ihn nicht erkennen kann“ angezeigt.
zum Beispiel im aus JMP exportierten Python-Code
_temp_5 = placeholder_IfMZ((indata[u"A"] == u"<100%"), 0.176288660753027, (indata[u"A"] == u"0" or indata[u"A"] == u"~100%"), 0.326534073883455, 0)
_temp_4 = _temp_5
JMP/Python-Experten, wissen Sie, wie man das behebt? Danke!
Prädiktive Modellierung und maschinelles LernenQualitäts- und ProzesstechnikBetreff: Frage zum Formeldepot, Generiere Python Code mit Fehler "Formelauswertung erfordert Implementierung des Operators "IfMZ"Nach aktualisiertem JMP 15.2 funktioniert es hervorragend!
jmp_score.py mz-Funktion hinzufügen
Ich habe erneut Unterstützung und Hilfe von Nascif erhalten, wenn ich auf weitere Fehler stoße.
Stellen Sie einfach sicher, dass Sie Spyde/Jupter Notebook schließen/erneut öffnen und pyc-Dateien entfernen, wenn Sie die aktualisierte jmp_score.py für die mz-Funktion verwenden
Betreff: Frage zum Formeldepot, Generiere Python Code mit Fehler "Formelauswertung erfordert Implementierung des Operators "IfMZ"Nascif,
Nochmals vielen Dank für Ihre Hilfe und froh zu sehen, dass jmp_score.py aktualisiert wurde
Ich habe gerade mein JMP 15.2 aktualisiert und werde es erneut versuchen.
Betreff: Frage zum Formeldepot, Generiere Python Code mit Fehler "Formelauswertung erfordert Implementierung des Operators "IfMZ"Hallo @ich h , danke für den Hinweis @lucy_luo_conoco in die richtige Richtung.
Schön wieder von dir zu hören, @lucy_luo_conoco . Ja, unser Ziel ist es, beim Generieren von Scoring-Code so viele JSL-Operatoren wie möglich abzudecken, aber angesichts der großen Anzahl von Operatoren in der Sprache verlassen wir uns manchmal auf Platzhalter. Wir verstehen, dass dies unsere Kunden belastet, und das tut uns leid, aber wir glauben, dass es eine bessere Alternative ist, als überhaupt keinen Code zu generieren. Es ermöglicht uns auch, Feedback darüber zu erhalten, welche Operatoren wir als nächstes implementieren müssen.
In diesem speziellen Fall teile ich das gerne mit Wir haben die Unterstützung für ifMZ bereits in JMP 15.2 implementiert . Wenn Sie ein Upgrade durchführen können, werden Sie feststellen, dass der Bewertungscode für Ihren verstärkten Baum sofort funktionieren sollte.
Wenn das nicht möglich ist, beachten Sie bitte, dass Sie es nicht jedes Mal implementieren müssen, wenn der Platzhalter im Scoring-Code verwendet wird. Sie müssen die Platzhalterfunktion nur einmal definieren.
Betreff: Frage zum Formeldepot, Generiere Python Code mit Fehler "Formelauswertung erfordert Implementierung des Operators "IfMZ"Danke für die Antwort. Ich dachte, das Formeldepot kann automatisch Python-Code generieren, ohne ihn zu ändern. das ist überhaupt nicht bequem. weil ich so viele verschiedene Bedingungen/Variablen habe.
_temp_40 = Platzhalter_IfMZ((indata[u"B"] == u"U2" or indata[u"B"] == u"MULTI" or indata[u"B"] == u"L1"), 0.241910570257302, (indata[u"TB"] == u"L2"), -0.216517363734128, 0)
_temp_61 = Platzhalter_IfMZ((indata[u"C"] == u"U2"), -0.117955642135196, (indata[u"C"] == u"(Empty)"), -1.58336331994262, 0)
Betreff: Frage zum Formeldepot, Generiere Python Code mit Fehler "Formelauswertung erfordert Implementierung des Operators "IfMZ"Ich glaube, Sie müssen eine benutzerdefinierte Python-Funktion schreiben, die fehlende Werte als Null ersetzt, bevor Sie die if-Anweisung auswerten, und diese Funktion dann als Platzhalter verwenden. Sehen Sie sich den Skripting-Index an, um eine Beschreibung dessen zu erhalten, was IfMZ tut.