Re: 多くの繰り返し検証を自動化して 1 つの出力テーブルにまとめるにはどうすればよいですか?これを繰り返すことで 100 個の検証列を追加できると思います。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Validation",
numeric,
"Nominal",
Formula( Make Validation Formula( [.6, .2, .2] ) ),
Set Property( "Value Labels", {0 = "Training", 1 = "Validation", 2 = "Test"} )
);
次に、モデルを適合させ、各検証列を繰り返し処理し、それぞれの要約テーブルを保存して、それらをすべてフォルダーに保存します。
次に、複数のファイルを開くを使用してファイルを開いて連結します。
...または多分...
テーブルを開き、検証列を追加し、モデルを実行し、概要を保存し、保存せずにテーブルを閉じ、それを 100 回繰り返します。
次に、複数のファイルを開いてテーブルを連結し、全体的な概要を取得します。
Re: 多くの繰り返し検証を自動化して 1 つの出力テーブルにまとめるにはどうすればよいですか?返信いただきありがとうございます、。何も聞いていなかったので、先週の金曜日に完成したばかりの独自のソリューションに取り組んでいます。
ご提案どおり、100 個の検証列を作成することから始めます。
それぞれの分析を段階的に実行し、各レポートから必要なテーブルをデータ テーブルとして抽出します。
各テーブルをマスターファイルに結合してから、レポートとデータテーブルを閉じるため、200 個のファイルを生成しても、一度に開くことができるのは 3 個だけです。テーブル スタック機能を使用すると、生成された列のキーワードを検索して、必要なすべての新しい列から必要なデータを抽出し、結果のデータを分析できます。私が管理できていない唯一の部分(スタックを節約するには、レポートテーブルから必要な列だけをエクスポートすることです)は、何度も試みましたが、失敗しました。
Report( discriminant[1] )[Outline Box("Probabilities to Each Group")] [Table Box (1)] << Make Data Table( "discrim_table " || char(i) );レポートから、「各グループの確率」というテーブルがあることを確認しました。これらはこのテーブルの 4 つの列 (私のデータ用) で、ラベルとしてブラインド目的で「AAAAAA」という 3 番目の列を抽出することに興味があります。プロパティは、これがデータ テーブルの列ボックス ( :AAAA) であり、この列ボックスが「各グループの確率」の下にネストされていることが明らかです。これらの余分な列をマスターファイルから削除するスクリプトを作成できることはわかっていますが、これは非効率的だと思われます。NumberColBox("AAAAA") を試してみました等。、でも嬉しくないよ、何かアイデアある人いる?
Re: 多くの繰り返し検証を自動化して 1 つの出力テーブルにまとめるにはどうすればよいですか?やあ@TDF 、
おそらく、次のような簡単なプロセスが役に立ちます。
1. 検証列を作成する方式(ここでは Big Class データセットについて):

2. モデルで次の式を使用します。

3. モデル フィッティングを繰り返したい場所/内容に応じて、繰り返したいメトリクス/推定値を右クリックし、[シミュレート] をクリックします (この例では、[パラメータ] で実行しています)。 「推定」パネルの値) :

必要なサンプルの数を指定し、ランダム シードを修正できます (再現可能な結果が必要な場合)。

4. [OK] をクリックすると、トレーニング セットと検証セットを変更して (層化サンプリング式に従って) モデルが 100 回適合され、モデルの 100 件の結果を含む概要テーブル (添付の例を参照) が直接作成されます。次に、Distribution (このテーブルで自動的に生成されたスクリプト) または Graph Builder プラットフォーム (ここでは、切片と重みのパラメーター推定値に関する Distributions プラットフォームを使用した例) を使用して、結果をグラフィカルに表示できます。

これらのステップは非常に簡単に作成でき、ログを使用して生成されたスクリプトをコピーして、ステップ/分析を自動化できます。
この回答がお役に立てば幸いです。
Re: 多くの繰り返し検証を自動化して 1 つの出力テーブルにまとめるにはどうすればよいですか?ありがとうビクター。
もっと明確に答えるべきだったと思います。問題が解決し、コーディングが完了しました。
テーブル全体 (400 列) を抽出して、3 番目から 4 番目ごとに列を選択するよりも、必要な 100 列 (レポートから抽出) のみを追加する方が良いでしょう。
私にとって知的興味があるのは、レポート内のテーブルから特定の列を抽出できないかということです。それは不可能な場合もあれば、可能であれば他のコミュニティ メンバーにとって役立つ場合もあります。
役立つオプションを投稿するために時間を割いてくださった Byron とあなた自身に感謝します。
Re: 多くの繰り返し検証を自動化して 1 つの出力テーブルにまとめるにはどうすればよいですか?やあ@TDF 、
誤解をして申し訳ありませんが、事件はまだ未解決だと思っていました。
議論は 100 個の個別の検証列の作成を中心に行われていたため、より簡単な (そしておそらくより洗練された) 解決策は、検証列の数式を備えた任意のプラットフォームで利用できる「シミュレート」機能を使用して、自動的に繰り返しを行うことかもしれないと考えました。さまざまなトレーニングおよび検証セットでモデルをフィッティングすると、多数の検証列でデータテーブルを拡張したり、個々の結果を手動で連結したりすることなく、これらの繰り返しの結果を表示する概要テーブルにアクセスできます。
スクリプトによる回避策が見つかって良かったです。
ご質問に関しては、レポートの一部をデータテーブルとして抽出することができます。関心のあるパネル/セクションを右クリックし、[データテーブルに作成] または [結合データテーブルを作成] を選択します (複数の回答がある場合)。例えば)。 Big Class Dataset 上のスクリプトは次のようになります。
// Make TableBox into a Data Table
Local( {obj},
obj = Data Table( "Big Class" ) << Fit Model(
Y( :height ),
Effects( :age, :sex, :weight ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:height << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
),
SendToReport(
Dispatch( {"Response height"}, "age", OutlineBox, {Close( 1 )} ),
Dispatch( {"Response height"}, "sex", OutlineBox, {Close( 1 )} ),
Dispatch( {"Response height"}, "weight", OutlineBox, {Close( 1 )} )
)
);
Report( obj )["Response height", "Whole Model", "Parameter Estimates",
Table Box( 1 )] << Make Into Data Table;
obj << Close Window;
)
しかし、このパネル レポートから特定の列を選択するオプションが表示されません。 プロパティを見ると、新しいデータテーブルに特定の NumberColBox を表示およびエクスポートしないように具体的に要求する必要があります。たとえば、次のようになります。

おそらく、より上級の Scripter ユーザーがこの質問に役立つかもしれません (私がよく理解していれば)。 または、特定のプロパティ (名前、インデックスなど) に基づいて不要な列を削除するコードをスクリプトに直接追加する方が簡単な場合もあります。 このトピックに関する興味深い回答もここにあります。解決済み: AIC を新しいデータ テーブルにエクスポートするスクリプト - JMP ユーザー コミュニティ
これがあなたのお役に立てれば幸いです、
ではごきげんよう、
多くの繰り返し検証を自動化して 1 つの出力テーブルにまとめるにはどうすればよいですか?判別分析を実行し、層別検証列を使用してモデルの品質をチェックしています。
仕事の性質 (未知のサンプルの起源の分類) を考慮すると、モデルが堅牢であることを確認したいと考えています。理想的には、100 個の検証列を作成し、それぞれで分析を 1 回実行してから、単一の要約分類テーブルを作成したいと考えています。手動で 100 個のテーブルを開いてコピーする必要はありません。
ここでは分類数に注目していますが、同じ出力テーブルのグループを結合することで解決できる可能性があります。
Pro v16 を実行しています (タスクが簡単になる場合は、v17 に更新できます)
よろしくお願いします、トレバー
Discriminant(
X( :Class for LDA ),
Validation( :Validation 0·7 0·2 0·1 ),
Y(
:"7.2"n, :"3.14"n, :"1.92"n, :"1.9"n, :"1.7"n, :"1.72"n, :"1.88"n, :"1.74"n,
:"1.76"n, :"1.78"n, :"0.98"n, :"0.96"n, :"1.82"n, :"2.4"n, :"2.12"n,
:"1.68"n, :"1.84"n, :"7.92"n, :"2.08"n, :"1.8"n, :"1.86"n, :"1.04"n,
:"3.12"n, :"1.06"n, :"0.94"n, :"2.42"n, :"8.4"n, :"2.46"n, :"7.24"n,
:"2.36"n, :"1.08"n, :"2.38"n, :"2.34"n, :"8.46"n, :"2.44"n, :"8.44"n, :"1"n,
:"2.48"n, :"1.48"n, :"1.66"n, :"1.94"n, :"2.14"n, :"8.42"n, :"3.16"n,
:"8.52"n, :"7.46"n, :"2.54"n, :"3.02"n, :"8.38"n, :"3.18"n
),
Discriminant Method( "Wide Linear" ),
Show Biplot Rays( 0 ),
Canonical 3D Plot( 1, Frame3D( Set Rotation( -54, 0, 38 ) ) ),
Show Classification Counts( 1 ),
Use Matrix Columns( 1 ),
Cross Validate by Excluded Rows( 1 )
)
データのブレンディングとクリーンアップ予測モデリングと機械学習