#########################################
### Anne-Laure Boulesteix, 11.12.2009 ###
#########################################

###########################
###### Load packages ######
###########################


library(e1071)
library(limma)
library(randomForest)
library(CMA)


##############################
##### Load prostate data #####
##############################

load("prostata.RData")
Y<-as.numeric(prostate[,1])-1
X<-prostate[,-1]
X<-as.matrix(X)


#####################################
##### Generate the CV-partition #####
#####################################

set.seed(111)
lset <- GenerateLearningsets(y=Y, method = "CV", fold=5, strat =TRUE,niter=1)

y<-Y


####################################################
##### t-test as preliminary variable selection #####
####################################################

selttest<-GeneSelection(X, y, learningsets = lset, method="t.test")
prostaterealCV_t<-numeric(39)

j<-1

###### knn k=1 ######

prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = selttest, classifier = knnCMA,
                            k = 1, nbgene = 20))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 1, nbgene = 50))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 1, nbgene = 100))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 1, nbgene = 200))@score)
		
j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 1, nbgene = 500))@score)

### knn k=3 ###
j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = selttest, classifier = knnCMA,
                            k = 3, nbgene = 20))@score)


j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 3, nbgene = 50))@score)


j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 3, nbgene = 100))@score)



j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 3, nbgene = 200))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 3, nbgene = 500))@score)

### knn k=5 ###
j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = selttest, classifier = knnCMA,
                            k = 5, nbgene = 20))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 5, nbgene = 50))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 5, nbgene = 100))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 5, nbgene = 200))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = knnCMA,
                            k = 5, nbgene = 500))@score)


### lda ###

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = ldaCMA, nbgene = 10))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = ldaCMA, nbgene = 20))@score)

### fda ###

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = fdaCMA, nbgene = 10))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = fdaCMA, nbgene = 20))@score)

### dlda ###

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = dldaCMA, nbgene = 20))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = dldaCMA, nbgene = 50))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = dldaCMA, nbgene = 100))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = dldaCMA, nbgene = 200))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = dldaCMA, nbgene = 500))@score)

### pls+lda ncomp=2 ###
j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=2, nbgene = 20))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=2, nbgene = 50))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=2, nbgene = 100))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=2, nbgene = 200))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=2, nbgene = 500))@score)

### pls+lda ncomp=3 ###

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=3, nbgene = 20))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=3, nbgene = 50))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=3, nbgene = 100))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=3, nbgene = 200))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selttest, classifier = pls_ldaCMA, comp=3, nbgene = 500))@score)

### nnet ###
j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selttest, classifier = nnetCMA, nbgene=20))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selttest, classifier = nnetCMA, nbgene=50))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selttest, classifier = nnetCMA, nbgene=100))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selttest, classifier = nnetCMA, nbgene=200))@score)

j<-j+1
prostaterealCV_t[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selttest, classifier = nnetCMA, nbgene=500))@score)


###########################################################
##### Wilcoxon-test as preliminary variable selection #####
###########################################################

selwtest<-GeneSelection(X, y, learningsets = lset, method="wilcox.test")
prostaterealCV_w<-numeric(39)


### knn k=1 ###

j<-1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = selwtest, classifier = knnCMA,
                            k = 1, nbgene = 20))@score)
		
j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 1, nbgene = 50))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 1, nbgene = 100))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 1, nbgene = 200))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 1, nbgene = 500))@score)
### knn k=3 ###

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = selwtest, classifier = knnCMA,
                            k = 3, nbgene = 20))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 3, nbgene = 50))@score)



j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 3, nbgene = 100))@score)


j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 3, nbgene = 200))@score)


j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 3, nbgene = 500))@score)

### knn k=5 ###

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = selwtest, classifier = knnCMA,
                            k = 5, nbgene = 20))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 5, nbgene = 50))@score)


j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 5, nbgene = 100))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 5, nbgene = 200))@score)


j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = knnCMA,
                            k = 5, nbgene = 500))@score)

### fda ###
j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = ldaCMA, nbgene = 10))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = ldaCMA, nbgene = 20))@score)


### lda ###

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = fdaCMA, nbgene = 10))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = fdaCMA, nbgene = 20))@score)


### dlda ###

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = dldaCMA, nbgene = 20))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = dldaCMA, nbgene = 50))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = dldaCMA, nbgene = 100))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = dldaCMA, nbgene = 200))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = dldaCMA, nbgene = 500))@score)


### pls+lda ncomp=2 ###


j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=2, nbgene = 20))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=2, nbgene = 50))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=2, nbgene = 100))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=2, nbgene = 200))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=2, nbgene = 500))@score)


### pls+lda ncomp=3 ###

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=3, nbgene = 20))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=3, nbgene = 50))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=3, nbgene = 100))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=3, nbgene = 200))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=selwtest, classifier = pls_ldaCMA, comp=3, nbgene = 500))@score)


### neural networks ###

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selwtest, classifier = nnetCMA, nbgene=20))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selwtest, classifier = nnetCMA, nbgene=50))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selwtest, classifier = nnetCMA, nbgene=100))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selwtest, classifier = nnetCMA, nbgene=200))@score)

j<-j+1
prostaterealCV_w[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=selwtest, classifier = nnetCMA, nbgene=500))@score)


prostaterealCV_all<-numeric(3)


####################################################
##### limma as preliminary variable selection ######
####################################################

sellimma<-GeneSelection(X, y, learningsets = lset, method="limma")
prostaterealCV_l<-numeric(39)


### knn k=1 ###
j<-1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = sellimma, classifier = knnCMA,
                            k = 1, nbgene = 20))@score)
j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 1, nbgene = 50))@score)
j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 1, nbgene = 100))@score)
j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 1, nbgene = 200))@score)
j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 1, nbgene = 500))@score)
### knn k=3 ###
j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = sellimma, classifier = knnCMA,
                            k = 3, nbgene = 20))@score)


j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 3, nbgene = 50))@score)


j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 3, nbgene = 100))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 3, nbgene = 200))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 3, nbgene = 500))@score)

### knn k=5 ###

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel = sellimma, classifier = knnCMA,
                            k = 5, nbgene = 20))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 5, nbgene = 50))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 5, nbgene = 100))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 5, nbgene = 200))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = knnCMA,
                            k = 5, nbgene = 500))@score)

### lda ###

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = ldaCMA, nbgene = 10))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = ldaCMA, nbgene = 20))@score)

### fda ###

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = fdaCMA, nbgene = 10))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = fdaCMA, nbgene = 20))@score)

### dlda ###

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = dldaCMA, nbgene = 20))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = dldaCMA, nbgene = 50))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = dldaCMA, nbgene = 100))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = dldaCMA, nbgene = 200))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = dldaCMA, nbgene = 500))@score)

### pls+lda ncomp=2 ###

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=2, nbgene = 20))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=2, nbgene = 50))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=2, nbgene = 100))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=2, nbgene = 200))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=2, nbgene = 500))@score)


### pls+lda ncomp=3 ###
j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=3, nbgene = 20))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=3, nbgene = 50))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=3, nbgene = 100))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=3, nbgene = 200))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                            genesel=sellimma, classifier = pls_ldaCMA, comp=3, nbgene = 500))@score)


### neural networks ###

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=sellimma, classifier = nnetCMA, nbgene=20))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=sellimma, classifier = nnetCMA, nbgene=50))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=sellimma, classifier = nnetCMA, nbgene=100))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=sellimma, classifier = nnetCMA, nbgene=200))@score)

j<-j+1
prostaterealCV_l[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       genesel=sellimma, classifier = nnetCMA, nbgene=500))@score)


################################
## Without variable selection ##
################################


prostaterealCV_all<-numeric(7)
j<-1
### PAM ###
tunescda<-tune(X, y, learningsets = lset, classifier = scdaCMA)
prostaterealCV_all[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                      tuneres=tunescda,classifier = scdaCMA))@score)

### PLR ###
j<-j+1
tuneplr<-tune(X, y, learningsets = lset, classifier = plrCMA)
prostaterealCV_all[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                       tuneres=tuneplr,classifier = plrCMA))@score)

### svm linear ###
j<-j+1
tunesvm<-tune(X, y, learningsets = lset, classifier = svmCMA)
prostaterealCV_all[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                      tuneres=tunesvm,classifier = svmCMA))@score)

### rf sqrt(p) ###
p<-ncol(X)
j<-j+1
prostaterealCV_all[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                      classifier = rfCMA,mtry=sqrt(p),ntree=1000))@score)

### rf 2sqrt(p) ###
j<-j+1
prostaterealCV_all[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                      classifier = rfCMA,mtry=2*sqrt(p),ntree=1000))@score)

### rf 3sqrt(p) ###
j<-j+1
prostaterealCV_all[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                      classifier = rfCMA,mtry=3*sqrt(p),ntree=1000))@score)

### rf 4sqrt(p) ###
j<-j+1
prostaterealCV_all[j] <- mean(evaluation(classification(X, y, learningsets = lset,
                      classifier = rfCMA,mtry=4*sqrt(p),ntree=1000))@score)


