我想了解插入符控制設置如何工作。我正在通過Caret控制功能使用交叉驗證進行一些實驗,例如,插入符號交叉驗證
fitControl <- trainControl(## 10-fold CV
method = "repeatedcv",
number = 10,
## repeated ten times
repeats = 10)
或
control <- rfeControl(functions=rfFuncs, method="repeatedcv", number=5, repeats = 5)
我的問題是,如果我設置一些種子數我跑之前的實驗,即
set.seed(5432)
control <- trainControl(...)
results <- train(..., control)
...
是否保證每個摺疊包含完全相同的樣品,每次我做了一個實驗?例如,假設我有id = {1:100}的樣本和Caret 10倍交叉驗證,我的摺疊是:fold1 = {1:10},fold2 = {11:20},...,fold10 = {91:100}。我的問題是,如果我使用相同的種子編號重新運行實驗,我的摺疊仍然與上一次運行完全相同?
我知道設置種子編號有助於重複性,但我只需要一個確認答案,那就是發生了什麼。
非常感謝,
我檢查了您提到的文檔,但沒有明確說明採樣摺疊將完全相同。我嘗試使用相同的種子編號運行代碼兩次(使用兩種選項進行測試),並且在檢查之後,兩次運行之間的rowIndex是不同的。 – user1480478
如果您在運行'train'之前將seed設置爲相同的數字,您將得到相同的重新採樣。 – topepo
@topepo你絕對正確!我學到的是,你需要每次運行set.seed()來重新運行實驗。我在代碼的開頭調用了set.seed,並且我認爲它一直被設置爲這個數字,直到我改變它爲止。那裏完全錯了。再次感謝! :d – user1480478