我已經將我的數據分成SAS中的5倍。所以,我有SAS中的交叉驗證
S1,S2,S3,S4,S5
我想知道什麼是通過每個褶皺的迭代進行交叉驗證的最佳途徑。例如,第一次迭代我想用s1作爲測試集,s2,3,4,5作爲訓練集,第二次迭代用s2作爲測試,s1,3,4,5作爲訓練等。
SAS中的什麼樣的循環可以實現這個目標?
謝謝!
我已經將我的數據分成SAS中的5倍。所以,我有SAS中的交叉驗證
S1,S2,S3,S4,S5
我想知道什麼是通過每個褶皺的迭代進行交叉驗證的最佳途徑。例如,第一次迭代我想用s1作爲測試集,s2,3,4,5作爲訓練集,第二次迭代用s2作爲測試,s1,3,4,5作爲訓練等。
SAS中的什麼樣的循環可以實現這個目標?
謝謝!
可能最好是調用宏來使它更容易調用。
%Macro Validate(cur,i) ;
%Do j = 1 %to 5 ;
%If &j <> &i %THEN
%DO;
Data &Cur._&j. ;
Set &cur S&j. ;
<validation steps>
Run;
%END;
%End;
%mend Validate ;
Data _null_ ;
Do i = 1 to 5 ;
Call Execute("%Validate(s"||strip(i)||","||strip(i)||");");
End;
Run;
這取決於你所說的'交叉驗證'。你能詳細說明嗎? – sasfrog