模型篩選你好。
我的問題是我有一個資料集,我想分離出這個資料集的 30% 進行測試。我想使用模型篩選來嘗試不同的模型,但對於模型的驗證部分,我希望所有模型都使用完全相同的測試資料集進行驗證。
為此我該做什麼?
預測建模和機器學習回覆:模型篩選嗨@maryam_nourmand ,
在固定訓練/驗證/測試資料集上獲得可重現結果的最簡單方法是建立驗證列。
- 首先,進入建立驗證列的相應選單:

- 然後您可以指定群組或分層(如果需要):

該方法有多種選擇:這裡我使用了與您的需求相對應的預設選項,“製作驗證列”,並且我使用一些變數作為分層列,以確保我的所有訓練、驗證和測試集都將具有類似的分佈/重新分區這些列的值。
-
然後,您可以指定每個集合的資料比率,並指定隨機種子,以便在分析中具有完美的再現性。這裡我選擇了固定驗證類型,但您也可以建立公式驗證列,從而能夠使用步驟2 中指定的相同設定(分組、分層等...)來模擬各種訓練、驗證和測試集。我的資料比例為70% 用於訓練,20% 用於驗證,10% 用於測試(通常值,有關此主題的更多資訊和研究,您可以閱讀V. Roshan Joseph 的論文「資料分割的最佳比例」: https
/arxiv.org/pdf/2202.03326 )。根據所需的評估準確性和模型選擇以及可用資料/行數,找到一個良好的比率折衷方案非常重要。完成後,按一下「開始」在表格中建立這個新的驗證列:

-
最後,啟動模型篩選平台並在「驗證」面板中使用新建立的「驗證列」。您還可以在此階段修復隨機種子,以便為所使用的不同模型和集合獲得可重現的結果:
只是對術語驗證和測試進行一些澄清,因為它們經常交替使用,但會出現一些混亂:
- 訓練集:用於模型的實際訓練,
- 驗證集:用於模型最佳化(例如超參數微調、特徵/閾值選擇…)和模型選擇,
- 測試集:用於對新/未見資料的所選模型進行泛化和預測效能評估。
因此,您可以使用驗證集評估多個模型,但對於驗證階段選擇的模型,測試集只能使用一次。
希望這個回答對你有幫助
回覆:模型篩選謝謝
回覆:模型篩選如果您有 JMP Pro,它有一個建立驗證列的平台,並且在各種建模平台中,可以指定指示哪些行是訓練行、哪些是驗證行的列。
如果您擁有標準 JMP,則可以輕鬆建立驗證列,只需在要建立的驗證列的公式中使用 Random Uniform() 函數即可。 (請確保將該列指定為“字元列”)。
If(randome uniform()>=.7, "Validation", "Training")
建立列後,您將需要轉到「列資訊」畫面,並刪除使列的值變為靜態的公式,確保公式不會再次運行,從而更改值。
然後,您可以在建立模型時排除和隱藏驗證行,然後當您想要驗證模式時,取消隱藏和排除驗證行以及隱藏和排除訓練行,然後重新執行模型。