\name{mipp} \alias{mipp} \title{MiPP-based Classification} \description{ Finds optimal sets of genes for classification } \usage{ mipp(x, y, x.test = NULL, y.test = NULL, probe.ID = NULL, rule = "lda", method.cut = "t.test", percent.cut = 0.01, model.sMiPP.margin = 0.01, min.sMiPP = 0.85, n.drops = 2, n.fold = 5, p.test = 1/3, n.split = 20, n.split.eval = 100) } \arguments{ \item{x}{data matrix} \item{y}{class vector} \item{x.test}{test data matrix if available} \item{y.test}{test class vector if available} \item{probe.ID}{probe set IDs; if NULL, row numbers are assigned.} \item{rule}{classification rule: "lda","qda","logistic","svmlin","svmrbf"; the default is "lda".} \item{method.cut}{method for pre-selection; t-test is available.} \item{percent.cut}{proportion of pre-selected genes; the default is 0.01.} \item{model.sMiPP.margin}{smallest set of genes s.t. sMiPP <= (max sMiPP-model.sMiPP.margin); the default is 0.01.} \item{min.sMiPP}{Adding genes stops if max sMiPP is at least min.sMiPP; the default is 0.85.} \item{n.drops}{Adding genes stops if sMiPP decreases (n.drops) times, in addition to min.sMiPP criterion.; the default is 2.} \item{n.fold}{number of folds; default is 5.} \item{p.test}{partition percent of train and test samples when test samples are not available; the default is 1/3 for test set.} \item{n.split}{number of splits; the default is 20.} \item{n.split.eval}{numbr of splits for evalutation; the default is 100.} } \value{ \item{model}{candiadate genes (for each split if no indep set is available} \item{model.eval}{Optimal sets of genes for each split when no indep set is available} } \references{ Soukup M, Cho H, and Lee JK (2005). Robust classification modeling on microarray data using misclassification penalized posterior, Bioinformatics, 21 (Suppl): i423-i430. Soukup M and Lee JK (2004). Developing optimal prediction models for cancer classification using gene expression data, Journal of Bioinformatics and Computational Biology, 1(4) 681-694 } \author{ Soukup M, Cho H, and Lee JK } \examples{ ########## #Example 1: When an independent test set is available data(leukemia) #Normalize combined data leukemia <- cbind(leuk1, leuk2) leukemia <- mipp.preproc(leukemia, data.type="MAS4") #Train set x.train <- leukemia[,1:38] y.train <- factor(c(rep("ALL",27),rep("AML",11))) #Test set x.test <- leukemia[,39:72] y.test <- factor(c(rep("ALL",20),rep("AML",14))) #Compute MiPP out <- mipp(x=x.train, y=y.train, x.test=x.test, y.test=y.test, probe.ID = 1:nrow(x.train), n.fold=5, percent.cut=0.05, rule="lda") #Print candidate models out$model ########## #Example 2: When an independent test set is not available data(colon) #Normalize data x <- mipp.preproc(colon) y <- factor(c("T", "N", "T", "N", "T", "N", "T", "N", "T", "N", "T", "N", "T", "N", "T", "N", "T", "N", "T", "N", "T", "N", "T", "N", "T", "T", "T", "T", "T", "T", "T", "T", "T", "T", "T", "T", "T", "T", "N", "T", "T", "N", "N", "T", "T", "T", "T", "N", "T", "N", "N", "T", "T", "N", "N", "T", "T", "T", "T", "N", "T", "N")) #Deleting comtaminated chips x <- x[,-c(51,55,45,49,56)] y <- y[ -c(51,55,45,49,56)] #Compute MiPP out <- mipp(x=x, y=y, probe.ID = 1:nrow(x), n.fold=5, p.test=1/3, n.split=5, n.split.eval=100, percent.cut= 0.1, rule="lda") #Print candidate models for each split out$model #Print optimal models and independent evaluation for each split out$model.eval } \keyword{models}