複数のレポートでR2を抽出し、.txtまたは.CSVファイルに保存しますこんにちは、
複数のニューラルネットワーク(NN)分析を自動化するスクリプトを実行しました。スクリプトを実行するたびに、トレーニングと検証のR ^ 2値を含むNNレポートがPDFファイルとして保存されます。最終的には約1000個のPDFファイルを持っているので問題になります。
以下のスクリプトをご覧ください
dt = Open( "E:/Subset of9Year.jmp" )
Summarize( locs = BY(dt:ID) );
//To create a subset of each ID for Neural Input
For(
j=1, j<=NItems(locs), j++,
file = dt << Select Where(locs[j] == Char (:ID)) << Subset(
file,
Output Table Name("Model Subset File")
);
//Run Neural Network with 2 layers with 6/3 nodes
NN = file << Neural(
Y( :Name( "SoilMoisture(kg.m-2) or (mm)" ) ),
X(
:Name( "Tmax(K)" ),
:Name( "Tmin(K)" ),
:Name( "Precip(mm)" ),
),
Informative Missing( 0 ),
Transform Covariates( 1 ),
Validation Method( "KFold", 7 ),
Set Random Seed( 1234 ),
Fit(
NTanH( 1 ),
NLinear( 1 ),
NGaussian( 1 ),
NTanH2( 3 ),
NGaussian2( 3 ),
Transform Covariates( 1 ),
Robust Fit( 1 ),
Penalty Method( "Absolute" ),
Number of Tours( 10 ),
//Show Estimates( 1 ), //show estimates
//Diagram( 1 ),
//Plot Actual by Predicted( 1 ), // print plot obj vs predicted
Save Formulas,
//Get RSquare Test //Get RSquare Validation
)
);
//Read and save each report as a PDF file<BR /> NNReport = NN << Report;
NNReport << Save PDF("E:/result/model_"|| Char (j)||".pdf");
);複数のレポートでR2を抽出してファイルに保存する方法はありますか?
前もって感謝します。どんな提案も歓迎します。
再:複数のレポートでR2を抽出し、.txtまたは.CSVファイルに保存するJMPの表示出力内の項目を解析する機能を使用して、表示ツリーを介して、必要な出力を取得できます。 これは、ニューラル出力から検証RSquareを取得する簡単な例です
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
obj = Neural(
Y( :mvalue ),
X( :crim, :indus, :chas, :nox, :rooms, :age, :distance, :radial ),
Go
);
rSquare = (report(obj)["Validation"]["mvalue"][NumberColBox(1)]<<GET></GET>
表示ツリーに関するドキュメントは、スクリプトガイドに記載されています。
Help => JMPドキュメントライブラリ
次に、スクリプトガイドをご覧ください
再:複数のレポートでR2を抽出し、.txtまたは.CSVファイルに保存する[テキストの保存]を使用して、rSquare値を保存しようとしました。ただし、テキストファイルを作成することはできません。
私が理解しているように(おそらく間違っている)、スクリプトはrSquare値を取得し、JMPのどこかに保存します。次に、テキストの保存を使用して値を.txtファイルに保存しました。
JMPエラーメッセージは「rSquare << / * ### * / Save Text( "D:/GYST_ERIK/pdm.txt")/ * ### * /;
{}」
助けてくれませんか?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
obj = Neural(
Y( :mvalue ),
X( :crim, :indus, :chas, :nox, :rooms, :age, :distance, :radial ),
Go
);
rSquare = (report(obj)["Validation"]["mvalue"][NumberColBox(1)]<<GET></GET>
再:複数のレポートでR2を抽出し、.txtまたは.CSVファイルに保存する使用したい関数は
テキストファイルを保存()
スクリプトエディタを見ると、使用可能な例と追加オプションがあります。
変数は文字列なので、使用できます
Save Text File("D:/GYST_ERIK/pmd.txt", rSquare);
または多分
Save Text File("D:/GYST_ERIK/pmd.txt", "Boston Results " || rSquare);