Frage zum Formeldepot, Python-Code mit Fehler generieren "Die Formelauswertung erfordert die Implementierung des Operators" IfMZ ".Ich verwende JMPpro 15 mit dem Boosted Tree-Modell, um eine Zielvariable vorherzusagen. Wenn ich versuche, mithilfe des Formel-Depots Python-Code für die Anwendung in einer Python-Umgebung zu generieren, wird JMP Alert angezeigt Die Formelbewertung erfordert die Implementierung des Operators "IfMZ". und der Python-Code funktioniert nicht, da er ihn nicht erkennen kann.
Zum Beispiel in dem aus JMP exportierten Python-Code
_temp_5 = placeholder_IfMZ ((Indata [u "A"] == u "<100%"), 0,176288660753027, (Indata [u "A"] == u "0" oder Indata [u "A"] == u "~ 100% "), 0,326534073883455, 0)
_temp_4 = _temp_5
JMP / Python-Experten, wissen Sie, wie man das behebt? Vielen Dank!
SkriptingBetreff: Frage zum Formeldepot, Python-Code mit Fehler generieren "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 im Platzhalter verwenden. Im Scripting-Index finden Sie eine Beschreibung der Funktionen von IfMZ.
Betreff: Frage zum Formeldepot, Python-Code mit Fehler generieren "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 = placeholder_IfMZ ((indata [u "B"] == u "U2" oder indata [u "B"] == u "MULTI" oder indata [u "B"] == u "L1"), 0,241910570257302, (indata [u "TB"] == u "L2"), -0,216517363734128, 0)
_temp_61 = placeholder_IfMZ ((indata [u "C"] == u "U2"), -0,117955642135196, (indata [u "C"] == u "(leer)"), -1,58336331994262, 0)
Betreff: Frage zum Formeldepot, Python-Code mit Fehler generieren "Formelauswertung erfordert Implementierung des Operators" IfMZ "Hallo @ich h , danke fürs zeigen @lucy_luo_conoco in die richtige Richtung.
Schön, wieder von Ihnen zu hören, @lucy_luo_conoco . Ja, unser Ziel ist es, beim Generieren von Scoring-Code so viel wie möglich von den JSL-Operatoren abzudecken. 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, überhaupt keinen Code zu generieren. Außerdem können wir Feedback erhalten, welche Operatoren wir als Nächstes implementieren müssen.
In diesem speziellen Fall freue ich mich, dies zu melden 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 Boosted Tree sofort funktionieren sollte.
Wenn dies nicht möglich ist, beachten Sie bitte, dass Sie es nicht jedes Mal implementieren müssen, wenn der Platzhalter im Bewertungscode verwendet wird. Sie müssten die Definition für die Platzhalterfunktion nur einmal angeben.
Betreff: Frage zum Formeldepot, Python-Code mit Fehler generieren "Formelauswertung erfordert Implementierung des Operators" IfMZ "Nascif,
Nochmals vielen Dank für Ihre Hilfe und froh zu sehen, dass jmp_score.py aktualisiert wird:)Ich habe gerade mein JMP 15.2 aktualisiert und werde es erneut versuchen.