用k-fold cross validation生成的error来判断哪个模型更加合适的时候,
使用cv.glm()函数前为什么要set.seed?
另外发现seed不一样,生成的结果也不一样,例如下面的code:
1、
library(boot)
set.seed(10)
cv.error=rep(0,5)
for (i in 1:5){
glm.fit=glm(nox~poly(dis,i),data=Boston)
cv.error[i]=cv.glm(Boston,glm.fit,K=10)$delta[1]
}
当把seed设置为10时,结果是:
> cv.error
[1] 0.005490919 0.004095812 0.003863046 0.003918877 0.004121742
此时观察结果,应该是第三个模型最优。
2、seed为1时,结果如下:
> cv.error
[1] 0.005536329 0.004077147 0.003899587 0.003862127 0.004298590
此时应该是第四个模型最优。
请问为什么会出现这种情况嘞??
set.seed影响的到底是什么????????


雷达卡





京公网安备 11010802022788号







