数式デポに関する質問、「数式の評価には演算子「IfMZ」の実装が必要です」というエラーでPythonコードを生成するブーストツリーモデルでJMPpro15を使用して、ターゲット変数を予測しています。フォーミュラデポを使用してPython環境に適用するためのPythonコードを生成しようとすると、JMPアラートがポップアップします数式の評価には、演算子「IfMZ」の実装が必要ですそして、Pythonコードはそれを認識できないために機能していません。
たとえば、JMPからエクスポートされたPythonコードで
_temp_5 = placeholder_IfMZ ((indata [u "A"] == u "<100%")、0.176288660753027、(indata [u "A"] == u "0"またはindata [u "A"] == u "〜100% ")、0.326534073883455、0)
_temp_4 = _temp_5
JMP / Pythonの専門家、それを修正する方法を知っていますか?ありがとう!
スクリプティングRe:数式デポに関する質問、「数式の評価には演算子「IfMZ」の実装が必要です」というエラーでPythonコードを生成するifステートメントを評価する前に、欠落している値をゼロとして置き換えるカスタムpython関数を作成し、その関数をプレースホルダーで使用する必要があると思います。 IfMZの機能の説明については、スクリプトインデックスを確認してください。
Re:数式デポに関する質問、「数式の評価には演算子「IfMZ」の実装が必要です」というエラーでPythonコードを生成する返信ありがとうございます。 フォーミュラデポは変更せずにPythonコードを自動的に生成できると思いました。これはまったく便利ではありません。私は非常に多くの異なる条件/変数を持っているからです。
_temp_40 = placeholder_IfMZ((indata [u "B"] == u "U2"またはindata [u "B"] == u "MULTI"または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 "(Empty)")、-1.58336331994262、0)
Re:数式デポに関する質問、「数式の評価には演算子「IfMZ」の実装が必要です」というエラーでPythonコードを生成するこんにちは@ih 、ご指摘いただきありがとうございます@lucy_luo_conoco正しい方向に。
よろしくお願いします。 @lucy_luo_conoco 。 はい、私たちの目標は、スコアリングコードを生成するときに、可能な限り多くのJSL演算子をカバーすることですが、言語内の演算子の数が多いため、プレースホルダーに依存する場合があります。 お客様に負担をかけることを承知しており、申し訳ございませんが、コードを一切生成しないよりも良い方法であると考えております。 また、次に実装する必要のある演算子に関するフィードバックを取得することもできます。
この特定のケースでは、私はそれを報告してうれしいですJMP15.2でifMZのサポートをすでに実装しています。 アップグレードできる場合は、ブーストされたツリーのスコアリングコードがすぐに機能するはずです。
それが不可能な場合は、スコアリングコードでプレースホルダーを使用するたびに実装する必要はないことに注意してください。 プレースホルダー関数の定義を提供する必要があるのは1回だけです。
Re:数式デポに関する質問、「数式の評価には演算子「IfMZ」の実装が必要です」というエラーでPythonコードを生成するナシフ、
ご協力いただきありがとうございます。jmp_score.pyが更新されたことをうれしく思います。:)JMP 15.2を更新したところ、再試行します。