回复:如何將許多重複驗證自動化並彙總到一個輸出表中?我想你可以通過迭代來添加 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 次。
然後使用多個文件打開並連接表格以獲得總體摘要。
回复:如何將許多重複驗證自動化並彙總到一個輸出表中?謝謝回复,。因為我沒有聽到任何消息,所以我一直在研究我上週五剛剛完成的自己的解決方案。
我按照您的建議開始創建 100 個驗證列。
我逐步分析每個報告,從每個報告中提取我需要的表格作為數據表。
我將每個表加入到我的主文件中,然後關閉報告和數據表,所以雖然我生成了 200 個文件,但我一次只能打開 3 個。我可以使用表格堆棧功能,通過在生成的列中搜索關鍵字並分析結果數據,從所有需要的新列中提取我需要的數據。我沒有管理的唯一部分(這將節省堆疊是從報告表中導出我需要的列)我已經嘗試了很多次但失敗了。
Report( discriminant[1] )[Outline Box("Probabilities to Each Group")] [Table Box (1)] << Make Data Table( "discrim_table " || char(i) );我從報告中確定了名為“每個組的概率”的表格。這些是此表中的 4 列(用於我的數據),我有興趣提取名為“AAAAAA”的第三列作為標籤用於盲目目的。屬性很清楚,這是數據表 Col Box( :AAAAA),這個 col 框嵌套在“每個組的概率”下。我知道我可以編寫腳本從主文件中刪除這些額外的列,但這似乎效率不高。我試過 NumberColBox("AAAAA") ETC。,但沒有喜悅,有沒有人有任何想法?
回复:如何將許多重複驗證自動化並彙總到一個輸出表中?你好@TDF ,
也許一個更簡單的過程可以幫助您:
1.創建一個驗證列公式(這裡是 Big Class 數據集):

2. 在模型中使用這個公式:

3. 根據您想重複模型擬合的位置/內容,您可以右鍵單擊要重複的指標/估計值,然後單擊“模擬”(在我的示例中,我在“參數”上執行此操作估計”面板值):

您可以指定所需的樣本數量並固定隨機種子(如果您想要可重現的結果):

4.點擊“確定”後,模型通過改變訓練集和驗證集(根據分層抽樣公式)進行100次擬合,您直接得到一個包含模型100次結果的匯總表(見附例) ,然後您可以在其中使用 Distributions(此表中自動生成的腳本)或 Graph Builder 平台(此處為 Distributions 平台的示例,在截距和權重的參數估計上)以圖形方式顯示結果:

您可以非常輕鬆地創建這些步驟,然後使用日誌複製生成的腳本以自動化步驟/分析。
希望這個回答能幫到你
回复:如何將許多重複驗證自動化並彙總到一個輸出表中?謝謝維克多。
我想我的回答應該更清楚。我已經解決了我的問題並且編碼完成了。
最好只添加我需要的 100 列(從報告中提取),而不是提取完整的表格(400 列)並且必須從第三列開始選擇每四列。
對我來說它現在的知識興趣是,我可以從報告中的表格中提取特定的列嗎?這可能是不可能的,或者如果是的話,它可能對其他社區成員有用。
感謝 Byron 和你自己花時間發布有用的選項。
回复:如何將許多重複驗證自動化並彙總到一個輸出表中?你好@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 用戶社區
我希望這能幫到您,
一切順利,
如何將許多重複驗證自動化並彙總到一個輸出表中?我正在運行判別分析並使用分層驗證列來檢查我的模型的質量。
鑑於工作的性質(對未知樣本的來源進行分類),我想確保模型是穩健的。理想情況下,我想創建 100 個驗證列,對每個列運行一次分析,然後創建一個匯總分類表 - 我不想手動打開和復制 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 )
)
數據混合和清理預測建模和機器學習