スクリプトで予測式を1行の式として抽出できますか?こんにちは、
予測式 (たとえば、ニューラル ネットワークから) を作成し、列を作成したら、その列を右クリックして [式] をクリックし、作成した式を表示できます。 その後、方程式を 1 行の方程式としてテキスト ファイルに「クリック アンド ドラッグ」することができます。
私の質問: このプロセスをスクリプト化することは可能ですか? 毎回上記のプロセスを実行する必要なく、その式を保存したいと思います。 (ニューラル ネットワークなどを実行するスクリプトは既にありますが、その 1 行の数式を節約できるものは何もありません)。
お時間をいただきありがとうございます!
Re: スクリプトで予測式を1行の式として抽出することはできますか?ありがとう、マーク - お時間をいただき、本当にありがとうございます。 次のようなことを行うことで、式全体を (Show() コマンドを使用して) 印刷することができました (ただし、別のファイルには出力できませんでした)。
result = Column("Predicted x") >> 数式を取得
表示 (結果);
印刷された数式が (Show() コマンドを使用して) 必要なものと一致することを確認したら、それを「テキスト ファイルの保存」コマンドを使用する文字列に変換しようとしました。 ただし、数式を文字列に変換すると、次の出力が得られました。
「。」
「tan(a+b)」のような単純なものを文字列に変換してこれをテストしましたが、char() コマンド内で「tan(a+b)」を解決しようとします。 それが上記に起こっているかどうかはわかりません。
しかし、提案されたソリューションには、私が含めていなかった構文がもう少し含まれていることがわかりますので、今すぐ試してみます。
Re: スクリプトで予測式を1行の式として抽出することはできますか?このスクリプトは一般的な解決策ではありませんが、それを行う方法を示しています。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nn = dt << Neural(
Y( :weight ),
X( :age, :sex, :height ),
Informative Missing( 0 ),
Validation Method( "Holdback", 0.3333 ),
Fit( NTanH( 3 ) )
);
nn << Save Formulas;
formula string = Char( :H1_1 << Get Formula ) || "\!n";
formula string ||= Char( :H1_2 << Get Formula ) || "\!n";
formula string ||= Char( :H1_3 << Get Formula ) || "\!n";
formula string ||= Char( :Predicted weight << Get Formula );
Save Text File( "My NN Formula.txt", formula string );
Re: スクリプトで予測式を1行の式として抽出することはできますか?興味深いので、[Save Profile Formulas] を選択する代わりに [Save Formula] で数式を分割できれば、数式全体をつなぎ合わせることができるかもしれません。
Re: スクリプトで予測式を1行の式として抽出することはできますか?ありがとう、マーク - では、スクリプトでニューラル ネットワーク式を「取得」するための現在の構文はありませんか? 前述したように、数式エディターを開いて (ニューラル ネットワークの数式を表示するため)、数式をクリックしてテキスト ファイルにドラッグします。 その方程式を引き出す方法が必要なようです。 ご覧いただきありがとうございます。
Re: スクリプトで予測式を1行の式として抽出することはできますか?Neural は、適合モデルを一連の列として保存し、各隠しノードの式と、各応答の隠しノードの累積を示します。 線形モデルを当てはめた場合と同じ結果ではありません。
ところで、予測式の列に送信すると、このメッセージの式が表示されました。 個々の隠しノード (H1 ... Hn) を完全に展開します。
Re: スクリプトで予測式を1行の式として抽出することはできますか?こんにちはジム、
これはほとんどの方程式で機能しますが、神経網、「数式を取得」は、方程式/数式に対してこれを返します。
ニューラル[ ]
計算に使用される数式を呼び出したり取得したりする別の方法があるかどうか知っていますか? 長い数式なので、「Get Formula」に文字数制限があるのではないかと思います。
ありがとう、
ジョン
Re: スクリプトで予測式を1行の式として抽出することはできますか?あなたは正しいです。あなたが行った調整により、問題なく動作するはずです
Re: スクリプトで予測式を1行の式として抽出することはできますか?返信ありがとうございます - ただし、「テキスト ファイルの保存」は文字列に対してのみ機能しますか? (「x」を含めた場所)。 したがって、 x = char(col << get formula) のようなものを試す必要があると思います。 それが機能するかどうかを確認します。 他にもアイデアがありましたら、お気軽にお知らせください。 ありがとう。
Re: スクリプトで予測式を1行の式として抽出することはできますか?本当にありがとう! これを試してみます。
Re: スクリプトで予測式を1行の式として抽出することはできますか?x = col << 数式を取得します。
テキストファイルを保存します("ファイルへのパス",x);
見る:
ヘルプ==>スクリプト インデックス==>データ テーブル==>列のスクリプト