JMP ネイティブ フォルダとは異なる Python インストールを指す JMP Python スクリプト インターフェースこんにちは
私は、JMP テーブルからデータを送信し、Python ライブラリを実行し、出力を JMP に返すスクリプトを作成したいと考えています。
これらのライブラリの中には、特定のPythonインストールを厳密に要求するものがいくつかあります。さらに、独立したPythonインストール(つまりローカルインストール。ここでは「非JMP Python」と呼んでいます)も存在します。
JMP Pythonスクリプトは初心者で、 https://www.jmp.com/support/help/en/18.1/index.shtml#page/jmp/install-a-python-package.shtml#で基礎を学んでいます。質問したいのは、JMPをネイティブのJMPインストールフォルダとは別のフォルダに、Pythonのインストールフォルダとして指定する機能があるかどうかです。もしこの機能があれば、JMP Pythonスクリプトのサンプルを投稿していただけますか?
ありがとう
自動化とスクリプトRe: JMP Python スクリプトインターフェースが JMP のネイティブフォルダとは異なる Python インストールを指すようにするJMP 18より前は、JMPで特定のPythonインストールを指定して実行できました。JMP 18以降でこれを行うには、Run Program()を使用する必要があると思いますが、これは理想的ではないようです。
Re: JMP Python スクリプトインターフェースが JMP のネイティブフォルダとは異なる Python インストールを指すようにするJMP 14-17は、ユーザーのシステムにインストールされているPythonを利用しようとしていました。これは実際にはPython.orgバージョンでのみ機能し、システムに複数のバージョンのPythonがインストールされている場合には問題が発生しました。JMPがシステム上のPythonバージョンを正しく識別した場合は問題なく動作していましたが、正しく識別できなかった場合は、ユーザーがPythonバージョンを指定するために必要なパラメータを指定することがほぼ不可能でした。JMP 14-17は、JSLスクリプトコマンドを通じてのみインターフェースを提供していました。また、スクリプトの受信者がPythonをインストールしていないか、互換性のないバージョンを使用している可能性があるため、スクリプトは移植性に欠けていました。
JMP 18 の目標は次のとおりです。
- Python が JMP ですぐに動作することを保証するために、構成は必要ありません。
- JMP 18 のすべてのユーザーは同じ Python 3.11.x バージョンを使用するため、スクリプトの互換性の問題は発生しなくなります。
- Python中心の環境を提供する(JSLのみのPythonインターフェースではなく)
- JMP の機能を補完する外部 Python パッケージを簡単にインストールできます。
- JMP と Python 環境間でより優れたデータ交換を提供し始めます。特に、データ テーブルが環境間でファイルシステムを介して転送されるデータのコピーではなく、ゼロコピー参照になる点が重要です。
データ テーブルのゼロコピー統合を実現するには、Python 共有ライブラリにリンクする必要があります。これにより、JMP が提供する埋め込み Python のみが使用可能になるという要件が設定されます。
JMP 19にはPython 3.13.xがバンドルされています。JMPはバグ修正とセキュリティアップデートのため、引き続き最新のPythonリリースに近いバージョンを維持します。メンテナンスリリースではPythonの最新版をリリースし、JMPの特定のバージョンのリリースサイクルを通じて、常に同じメジャーバージョンとマイナーバージョンを維持します。
JMP 20は3.14.xで出荷される可能性が高い
JMP環境は、JMP固有の仮想環境と考えてください。JMP Pythonを使って外部のPython環境とやり取りすることを妨げるものは何もありません。私の提案としては、JMP内部のPythonを使ってデータをデータベースに移動するか、mmap(共有メモリ)、ソケット、ZeroMQなどを使って他のPython環境に渡すことです。ファイルシステムにデータを書き戻すことなく、様々な方法でデータを処理できます。
その時点で、JSL の RunProgram() または Python の multiprocessing のいずれかを使用して、他の Python 環境を起動できます。
Re: JMP Python スクリプトインターフェースが JMP のネイティブフォルダとは異なる Python インストールを指すようにするご返信ありがとうございます。JMPのPythonドキュメントの読み込みが少し遅くなってしまいました。サンプル付きのテンプレートがあればいいのですが(もしかしたらあるかもしれません)。他に質問があるかもしれません。
私が Python を必要とする理由は以下のとおりです:
1.EBM(説明可能なブースティングマシン) - これはJMPでは利用できません
2. SHAP 固有のプロット .. SHAP はさまざまなプラットフォームから取得できますが、私はオリジナルの SHAP ライブラリが提供する特定のプロット形式を好みます。
特にEBM固有のバージョンのPythonとscikit-learnについて。シンプルなライブラリをインストールして実行し、出力をデータテーブルとしてJMPに返す方法を、サンプル例を使って簡単に説明できればと思っています。「インストール方法」の部分はここまでで理解できたと思います。
そして、説明から私が理解する方法:JMPインストールフォルダの一部ではないPythonライブラリを使用する場合、解決策はRun_Program()を経由します
Re: JMP Python スクリプトインターフェースが JMP のネイティブフォルダとは異なる Python インストールを指すようにする一般的に、モジュールがJMPのPythonインストールと互換性がある限り、それを使用できます。Python Install Packages( "パッケージ名" )、pip 経由で利用できることを前提としています。
Re: JMP Python スクリプトインターフェースが JMP のネイティブフォルダとは異なる Python インストールを指すようにするこんにちは@altug_bayramさん、
「例付きのテンプレートがあればいいのに」
スクリプトインデックスには簡単なPythonの例がいくつか掲載されています。Python統合 > 関数 > from_dataframe には、探している例がいくつか掲載されているかもしれません。
あなたが尋ねている質問とは少し違いますが、役に立つかもしれません:
EBM(説明可能なブースティングマシン)
EBMにはあまり詳しくないのですが、JMPの予測因子スクリーニングプラットフォームとJMP Proのブートストラップフォレスト/ブーステッドツリープラットフォームが、あなたが求めている機能を実現できるかもしれません。オンラインでEBMの概要をざっと見たところ、ブートストラップフォレストとブーステッドツリーを組み合わせたようなものだと思われますが、それは少し単純化しすぎているかもしれません。
SHAP固有のプロット
このリンクはプロットに役立ちますか?
Python の詳細:
最終的には、Python 固有のライブラリを使用してデータ テーブルを Python に送信し、データや画像を JMP に戻す際に技術的な障害は発生しないはずです。
ephemライブラリを使って惑星の位置を計算し、そのデータをJMPに取り込んで可視化するサンプルスクリプトを添付しました。9行目と10行目はJMPのPython環境からephemライブラリをインストールしており、一度だけ実行すれば十分です。