Cross-validation of feature selection for supervised principal components

Share:

Description

Applies superpc.predict.red to cross-validation folds generates in superpc.cv. Uses the output to evaluate reduced models, and compare them to the full supervised principal components predictor.

Usage

1
superpc.predict.red.cv(fitred, fitcv, data, threshold, sign.wt="both")

Arguments

fitred

Output of superpc.predict.red

fitcv

Output of superpc.cv

data

Training data object

threshold

Feature score threshold; usually estimated from superpc.cv

sign.wt

Signs of feature weights allowed: "both", "pos", or "neg"

Value

lrtest.reduced

Likelihood ratio tests for reduced models

components

Number of supervised principal components used

v.preval.red

Outcome predictor from reduced models. Array of num.reduced.models by (number of test observations)

type

Type of outcome

call

calling sequence

Author(s)

Eric Bair and Robert Tibshirani

References

~put references to the literature/web site here ~

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
set.seed(332)
#generate some data

x<-matrix(rnorm(1000*40),ncol=40)
y<-10+svd(x[1:60,])$v[,1]+ .1*rnorm(40)
ytest<-10+svd(x[1:60,])$v[,1]+ .1*rnorm(40)
censoring.status<- sample(c(rep(1,30),rep(0,10)))
censoring.status.test<- sample(c(rep(1,30),rep(0,10)))

featurenames <- paste("feature",as.character(1:1000),sep="")
data<-list(x=x,y=y, censoring.status=censoring.status, featurenames=featurenames)
data.test<-list(x=x,y=ytest, censoring.status=censoring.status.test, featurenames= featurenames)



a<- superpc.train(data, type="survival")
aa<-superpc.cv(a, data)

fit<- superpc.predict(a, data, data.test, threshold=1.0, n.components=1, prediction.type="continuous")

fit.red<- superpc.predict.red(a,data, data.test, threshold= .6)

fit.redcv<- superpc.predict.red.cv(fit.red, aa,  data, threshold= .6)

superpc.plotred.lrtest(fit.redcv)