EDA365电子论坛网
标题:
不知道那个对不对?
[打印本页]
作者:
MOTOACE
时间:
2020-7-21 17:51
标题:
不知道那个对不对?
5折交叉验证算法如何对64组训练样本均分,
5 U! \, X! Q) Q6 U0 q, @
1 Z- p4 e6 y# `0 F3 Q1 s7 F
64/5=12.8 我在网上看到一种分法是12 12 12 12 16,请教大神,不知道那个对不对?感谢!
作者:
naimei
时间:
2020-7-21 18:16
w<-read.csv("C:\\Users\\Administrator\\Desktop\\mg.csv",header=T)
: Y# } |/ [! c3 b3 a5 J: Q
#样本的个数为1385,5折交叉验证
4 a4 Z- j; m7 F7 |
n=1385
5 ]. H1 H$ q8 O6 e# {( D
zz1=1:n
" j; U4 F1 J! q
zz2=rep(1:5,ceiling(1385/5))[1:n]
7 S3 r% V5 W" p. ~
set.seed(100)
' `; e7 F$ ]& a% b
zz2=sample(zz2,n) #有放回抽样
0 z+ @5 B& [1 I" j: C
NMSE=rep(0,5)
+ c, j2 P( I* h7 ~
NMSE0=NMSE
4 { A! H" M0 n0 D+ n6 t# H6 o! O# ^
for(i in 1:5){
. d9 @! O6 u) F1 y
m=zz1[zz2==i]
Q. F1 M: Q. a' {' \; I# E; |: a, g0 }
a<-lm(y~.,w[-m,]) #线性回归模型
l+ d, a- L- ?) W
y0<-predict(a,w[-m,]) #对训练集集预测
* c$ R) a, N; M9 U2 L
y1=predict(a,w[m,]) #对测试集预测
1 f7 P f+ I0 i7 j
NMSE0[i]=mean((w$y[-m]-y0)^2)/mean((w$y[-m]-mean(w$y[-m]))^2)
) R! z! ?) M/ x- u a/ E
NMSE[i]=mean((w$y[m]-y1)^2)/mean((w$y[m]-mean(w$y[m]))^2)
4 V% L9 }( w B' e
}
! Q' g2 a4 A& s/ @
NMSE0=mean(NMSE0) #训练集的标准化均方误差
: n0 F' h. \6 T1 t! y
NMSE=mean(NMSE)
: x- c2 z% R) Y+ S/ {9 [4 k/ P
这个可以参考一下。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2