嘗試創建並保存隨機的行子集並將其保存到腳本中以備後用我正在對多元回歸預測模型進行大量驗證測試,我繼續調整該模型,並希望使用腳本自動化部分驗證測試過程。到目前為止,我還無法“保存到腳本”過程中我從訓練數據集中生成和保存行的隨機子集以用於驗證測試的部分。
當我手動執行此操作時,我:1) 從我的主表中生成一個隨機的行子集 (20%),2) 保存子集,以及 3) 從主表中刪除這些子集行並保存“新”主表(請注意,我確保將子集錶鍊接到主表以允許執行此步驟)。然後我繼續對新的主表進行模型分析並測試子集表中的行的擬合程度(即驗證測試)。
如何讓 JMP 在腳本中“記錄”這些動作?到目前為止,我還沒有意識到這些動作。提前致謝!
腳本編寫回复:嘗試創建和保存行的隨機子集並將其保存到腳本中以備後用查看子集數據表中的源條目,它將具有子集的 jsl回复:嘗試創建和保存行的隨機子集並將其保存到腳本中以備後用你好@Campbell_Ted_R ,
以下腳本應該可以幫助您開始您想去的地方。 我不建議將子集鏈接到主表,因為如果這樣做,當我們使用腳本刪除主表中的那些行時,它也會刪除子集表中的行。 無論如何,這應該讓你朝著你想要的方向開始。
Names default to here (1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Random_rows = dt<<SELECT randomly=""></SELECT>
希望這可以幫助!,
DS
回复:嘗試創建和保存行的隨機子集並將其保存到腳本中以備後用完美的!是否有命令在腳本中命名新文件(即新的子集文件和新的主表文件)?理想情況下,它會在每次運行腳本時以順序遞增的數字命名兩個新文件(例如,子集 1、主要 1.....子集 2、主要 2.....子集 3、主要 3、... .. 等)但我不介意在需要時自己在腳本中手動重新設置它,因為這已經節省了大量時間。
回复:嘗試創建和保存行的隨機子集並將其保存到腳本中以備後用你好@Campbell_Ted_R ,
是的,在 JSL 中調用 Save 或 Save As 函數時,可以設置名稱。 如果您以迭代方式執行此操作,則可以將其全部放入更大的 For 循環中,並且它可以自動為您完成所有操作。 現在我考慮了您對數據所做的事情,幾乎看起來您正在做類似於 K 折交叉驗證的事情。 如果您是,JMP 中的許多適合平台都可以輕鬆應對。 根據建模平台,您可以選擇它作為交叉驗證選項,或者您可能必須製作多個 k 折驗證列,這在 XGBoost 中是需要的。 無論哪種方式,您都可以創建包含訓練、驗證和測試列的驗證列,並且您可以根據響應列或因子列對驗證列進行分層,但它最適合您的情況。
附帶說明一下,如果您要開始編寫腳本以節省時間,我強烈建議您使用腳本索引(幫助 > 腳本索引)來幫助您。 您可以搜索命令,並且有一些示例說明如何使用它來執行這些操作/命令。
希望這可以幫助!,
DS
回复:嘗試創建和保存隨機的行子集並將其保存到腳本以供以後使用在你走得更遠之前,我想知道另一種方法是否有優勢。 您可以使用 Excluded 行狀態而不是子集。 擬合最小二乘將不包括模型訓練中排除的行。 您可以將預測公式保存在新列中,並且排除行的預測響應將在那裡。
此外,JMP Pro 提供了驗證分析角色,使此類評估變得非常容易和方便。
回复:嘗試創建和保存隨機的行子集並將其保存到腳本以供以後使用謝謝戴德里希!並感謝您建議 JSL 腳本索引尋求幫助。它運行良好。