GeneSelection              package:CMA              R Documentation

_G_e_n_e_r_a_l _m_e_t_h_o_d _f_o_r _v_a_r_i_a_b_l_e _s_e_l_e_c_t_i_o_n _w_i_t_h _v_a_r_i_o_u_s _m_e_t_h_o_d_s

_D_e_s_c_r_i_p_t_i_o_n:

     For different learning data sets as defined by the argument
     'learningsets', this method ranks the genes from the most relevant
     to the less relevant using one of various 'filter' criteria or
     provides a sparse collection of variables (Lasso, ElasticNet,
     Boosting). The results are typically used for variable selection
     for the classification procedure that follows.

     For S4 class information, s. 'GeneSelection-methods'.

_U_s_a_g_e:

     GeneSelection(X, y, f, learningsets, method = c("t.test", "welch.test", 
     "wilcox.test", "f.test", "kruskal.test", "limma", "rfe", "rf", "lasso", 
     "elasticnet", "boosting", "golub"), scheme, trace = TRUE, ...)

_A_r_g_u_m_e_n_t_s:

       X: Gene expression data. Can be one of the following:

             *  A 'matrix'. Rows correspond to observations, columns to
                variables.

             *  A 'data.frame', when 'f' is _not_ missing (s. below).

             *  An object of class 'ExpressionSet'.

       y: Class labels. Can be one of the following:

             *  A 'numeric' vector.

             *  A 'factor'.

             *  A 'character' if 'X' is an 'ExpressionSet'.

             *  'missing', if 'X' is a 'data.frame' and a proper
                formula 'f' is provided.

       f: A two-sided formula, if 'X' is a 'data.frame'. The left part
          correspond to class labels, the right to variables.

learningsets: An object of class 'learningsets'. May be missing, then
          the complete datasets is used as learning set.

  method: A character specifying the method to be used:

          '_t._t_e_s_t' two-sample t.test (equal variances for both classes
               assumed).

          '_w_e_l_c_h._t_e_s_t' Welch modification of the t.test (unequal
               variances for both classes).

          '_w_i_l_c_o_x._t_e_s_t' Wilcoxon rank sum test.

          '_f._t_e_s_t' F test belonging to the linear hypothesis that the
               mean is the same for all classes. Usually used for the
               multiclass scheme, is equivalent to 'method = t.test' in
               the two-class case.

          '_k_r_u_s_k_a_l._t_e_s_t' Multi-class generalization of the Wilcoxon
               rank sum test and the nonparametric pendant to the F
               test, respectively.

          '_l_i_m_m_a' 'Moderated t' statistic for the two-class case and
               'moderated F' statistic for the multiclass case,
               described in Smyth (2003). Requires the package 'limma'.

          '_r_f_e' One-step Recursive Feature Elimination, based on the
               Support Vector Machine. The method is decribed in Guyon
               et al. (2002). Requires the package 'e1071'. Take care
               that appropriate hyperparameters are passed by the '...'
               argument.

          '_r_f' Random Forest Variable Importance Measure. Requires the
               package 'randomForest'.

          '_l_a_s_s_o' 'L1' penalized logistic regression leads to sparsity
               with respect to the variables used. Calls the function
               'LassoCMA', which requires the package 'glmpath'.
               *warning*: Take care that appropriate hyperparameters
               are passed by the '...' argument.

          '_e_l_a_s_t_i_c_n_e_t' Penalized logistic regression with both 'L1' and
               'L2' penalty, claimed by Zhou and Hastie (2004) to
               select 'variable groups'. Calls the function
               'ElasticNetCMA', which requires the package 'glmpath'
               *warning*: Take care that appropriate hyperparameters
               are passed by the '...' argument.

          '_b_o_o_s_t_i_n_g' Componentwise boosting (Buehlmann and Yu, 2003)
               has been shown to mimic the LASSO (Efron et al., 2004;
               Buehlmann and Yu, 2006). Calls the function
               'compBoostCMA' Take care that appropriate
               hyperparameters are passed by the '...' argument.

          '_g_o_l_u_b' The (theoretically unfounded) variable selection
               criterion used by Golub et al. (1999), s. 'golub'.


  scheme: The scheme to be used in the case of a non-binary response.
          Must be one of '"pairwise"','"one-vs-all"' or '"multiclass"'.
          The last case only makes sense if 'method' is one of 'f.test,
          limma, rf, boosting', which can directly be applied to the
          multi class case.

   trace: Should the progress be traced ? Default is 'TRUE'.

     ...: Further arguments passed to the function performing variable
          selection, s. 'method'.

_V_a_l_u_e:

     An object of class 'genesel'.

_N_o_t_e:

     most of the methods described above are only apt for the binary
     classification case. The only ones that can be used without
     restriction in the multiclass case are

        *  'f.test'

        *  'kruskal.test'

        *  'rf'

        *  'boosting'

     For the rest, pairwise or one-vs-all schemes are used.

_A_u_t_h_o_r(_s):

     Martin Slawski martin.slawski@campus.lmu.de

     Anne-Laure Boulesteix <URL: http://www.slcmsr.net/boulesteix>

_R_e_f_e_r_e_n_c_e_s:

     Smyth, G. K., Yang, Y.-H., Speed, T. P. (2003).

     Statistical issues in microarray data analysis.

     _Methods in Molecular Biology 224, 111-136_.

     Guyon, I., Weston, J., Barnhill, S., Vapnik, V. (2002).

     Gene Selection for Cancer Classification using support vector
     machines. _Journal of Machine Learning Research, 46, 389-422_

     Zhou, H., Hastie, T. (2004).

     Regularization and variable selection via the elastic net.
     _Journal of the Royal Statistical Society B, 67(2),301-320_

     Buelmann, P., Yu, B. (2003).

     Boosting with the L2 loss: Regression and Classification.

     _Journal of the American Statistical Association, 98, 324-339_

     Efron, B., Hastie, T., Johnstone, I., Tibshirani, R. (2004).

     Least Angle Regression.

     _Annals of Statistics, 32:407-499_

     Buehlmann, P., Yu, B. (2006).

     Sparse Boosting.

     _Journal of Machine Learning Research, 7- 1001:1024_

_S_e_e _A_l_s_o:

     'filter', 'GenerateLearningsets', 'tune', 'classification'

_E_x_a_m_p_l_e_s:

     # load Golub AML/ALL data
     data(golub)
     ### extract class labels
     golubY <- golub[,1]
     ### extract gene expression from first 10 genes
     golubX <- as.matrix(golub[,-1])
     ### Generate five different learningsets
     set.seed(111)
     five <- GenerateLearningsets(y=golubY, method = "CV", fold = 5, strat = TRUE)
     ### simple t-test:
     selttest <- GeneSelection(golubX, golubY, learningsets = five, method = "t.test")
     ### show result:
     show(selttest)
     toplist(selttest, k = 10, iter = 1)
     plot(selttest, iter = 1)

