# NOT RUN {
data(tecator)
cutpoint <- 18
tecator$y$class <-factor(ifelse(tecator$y$Fat<cutpoint,0,1))
table(tecator$y$class )
x<-tecator[[1]]
x2<-fdata.deriv(tecator[[1]],2)
data<- list("df"=tecator$y,x=x,x2=x2)
formula<- formula(class~x+x2)
# ex: default excution of classifier (no k-fold CV)
classif="classif.glm";
out.default<-classif.kfold(formula, data, classif = classif)
out.default
out.default$param.min
out.default$params.error
summary(out.default)
# ex: Number of PC basis elements selected by 10-fold CV
# Logistic classifier
kfold = 10
param.kfold <- list("x"=list("pc"=c(1:8)),"x2"=list("pc"=c(1:8)))
out.kfold1 <- classif.kfold(formula, data, classif = classif,
kfold = kfold,param.kfold = param.kfold)
out.kfold1$param.min
min(out.kfold1$params.error)
summary(out.kfold1)
# ex: Number of PC basis elements selected by 10-fold CV
# Logistic classifier with inverse weighting
out.kfold2 <- classif.kfold(formula, data, classif = classif,
par.classif=list("weights"="inverse"),
kfold = kfold,param.kfold = param.kfold)
out.kfold2$param.min
min(out.kfold2$params.error)
summary(out.kfold2)
# ex: Number of fourier basis elements selected by 10-fold CV
# Logistic classifier
ibase = seq(5,15,by=2)
param.kfold <- list("x"=list("fourier"=ibase),
"x2"=list("fourier"=ibase))
out.kfold3 <- classif.kfold(formula, data, classif = classif,
kfold = kfold,param.kfold = param.kfold)
out.kfold3$param.min
min(out.kfold3$params.error)
summary(out.kfold3)
# ex: Number of k-nearest neighbors selected by 10-fold CV
# non-parametric classifier (only for a functional covariate)
output<-classif.kfold( class ~ x, data, classif = "classif.knn",
param.kfold= list("x"=list("knn"=c(1,3,5,9))))
output$param.min
output$params.error
output<-classif.kfold( class ~ x2, data, classif = "classif.knn",
param.kfold= list("x2"=list("knn"=c(1,3,5,9))))
output$param.min
output$params.error
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab