cvskda: Cross validation for SKDA

Description Usage Arguments Value Author(s) References See Also Examples

Description

This function implements cross validation for the sparse (multicategory) kernel discriminant analysis (skda).

Usage

1
cvskda(x,y, taus, nfolds=10, method="Bayes")

Arguments

x

a matrix ( n X p ) that contains predictors.

y

a vector that contains the categorical response coded as 1, 2, ..., K.

taus

a vector that contains the candidate regularization parameters.

nfolds

the number of folds used in cross validation.

method

method (mle or Bayes) to be used in the KDA classifier.

Value

lam

the best solution tuned by cross validation

Author(s)

L. A. Stefanski, Y. Wu, and K. White

References

L. A. Stefanski, Y. Wu, and K. White (2013) Variable selection in nonparametric classification via measurement error model selection likelihoods Journal of the American Statistical Association, ??, ???-???.

See Also

skda, predprob

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
        # a binary example
          rm(list=ls())
          n=200
          p=20
          r=0.8
          x=matrix(rnorm(n*p,mean=0,sd=1),n,p)
          y=rbinom(n,1,0.5)
          x[,3]=x[,3]+(2*y-1)*r
          x[,11]=x[,11]+(2*y-1)*r

          y=y+1

          ind1=which(y>1.5)
          ind0=which(y<1.5)
          plot(-4:4, -4:4, type = "n")
          points(x[ind1, 3], x[ind1,11],col="blue")
          points(x[ind0, 3], x[ind0,11],col="red")
          lam=skda(x,y,3)$lam
          
# for cross validation see demo(cvskda, package="skda", ask=TRUE)


        # a three-class example
          rm(list=ls())
          n=200
          p=20
          r=2
          x=matrix(rnorm(n*p,mean=0,sd=1),n,p)
          y=ceiling(runif(n,0,3))
          thetas=c(0, 2*pi/3, 4*pi/3)
          x[,3]=x[,3]+r*cos(thetas[y])
          x[,11]=x[,11]+r*sin(thetas[y])

          ind1=which(y==1)
          ind2=which(y==2)
          ind3=which(y==3)

          plot(-6:6, -6:6, type = "n")
          points(x[ind1, 3], x[ind1,11],col="blue")
          points(x[ind2, 3], x[ind2,11],col="red")
          points(x[ind3, 3], x[ind3,11],col="black")
          lam=skda(x,y,3)$lam

# for cross validation see demo(cvskda, package="skda", ask=TRUE)

skda documentation built on May 2, 2019, 2:41 p.m.

Related to cvskda in skda...