ElasticNetCMA              package:CMA              R Documentation

_C_l_a_s_s_i_f_i_c_a_t_i_o_n _a_n_d _v_a_r_i_a_b_l_e _s_e_l_e_c_t_i_o_n _b_y _t_h_e _E_l_a_s_t_i_c_N_e_t

_D_e_s_c_r_i_p_t_i_o_n:

     Zou and Hastie (2004) proposed a combined L1/L2 penalty for
     regularization and variable selection. The Elastic Net penalty
     encourages a grouping effect, where strongly correlated predictors
     tend to be in or out of the model together. The computation is
     done with the function 'glmpath' from the package of the same
     name.

     The method can be used for variable selection alone, s.
     'GeneSelection'. For 'S4' method information, see
     'ElasticNetCMA-methods'.

_U_s_a_g_e:

     ElasticNetCMA(X, y, f, learnind, norm.fraction = 0.1, lambda2=1e-3, ...)

_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'. *note*: by default,
                the predictors are scaled to have unit variance and
                zero mean. Can be changed by passing 'standardize =
                FALSE' via the '...' argument. 

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

             *  A 'numeric' vector.

             *  A 'factor'.

             *  A 'character' if 'X' is an 'ExpressionSet' that
                specifies the phenotype variable.

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

          *WARNING*: The class labels will be re-coded to range from
          '0' to 'K-1', where 'K' is the total number of different
          classes in the learning set. 

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

learnind: An index vector specifying the observations that belong to
          the learning set. May be 'missing'; in that case, the
          learning set consists of all observations and predictions are
          made on the learning set.

norm.fraction: L1 Shrinkage intensity, expressed as the fraction of the
          coefficient L1 norm compared to the maximum possible L1 norm
          (corresponds to 'fraction = 1'). Lower values correspond to
          higher shrinkage. Note that the default (0.1) need not
          produce good results, i.e. tuning of this parameter is
          recommended.

 lambda2: L2 shrinkage intensity, a positive real number. The default
          (0.001) need not produce good results.

     ...: Further arguments passed to the function 'glmpath' from the
          package of the same name.

_V_a_l_u_e:

     An object of class 'clvarseloutput'.

_N_o_t_e:

     For a strongly related method, s. 'LassoCMA'. Up to now, this
     method can only be applied to binary classification.

_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:

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

     Regularization and variable selection via the elastic net.

     _Journal of the Royal Statistical Society B, 67(2),301-320_

     Young-Park, M., Hastie, T. (2007)

     L1-regularization path algorithm for generalized linear models.

     _Journal of the Royal Statistical Society B, 69(4), 659-677_

_S_e_e _A_l_s_o:

     'compBoostCMA', 'dldaCMA', 'fdaCMA', 'flexdaCMA', 'gbmCMA',
     'knnCMA', 'ldaCMA', 'LassoCMA', 'nnetCMA', 'pknnCMA', 'plrCMA',
     'pls_ldaCMA', 'pls_lrCMA', 'pls_rfCMA', 'pnnCMA', 'qdaCMA',
     'rfCMA', 'scdaCMA', 'shrinkldaCMA', 'svmCMA'

_E_x_a_m_p_l_e_s:

     ### load Golub AML/ALL data
     data(golub)
     ### extract class labels
     golubY <- golub[,1]
     ### extract gene expression
     golubX <- as.matrix(golub[,-1])
     ### select learningset
     ratio <- 2/3
     set.seed(111)
     learnind <- sample(length(golubY), size=floor(ratio*length(golubY)))
     ### run ElasticNet - penalized logistic regression (no tuning)
     result <- ElasticNetCMA(X=golubX, y=golubY, learnind=learnind, norm.fraction = 0.2, lambda2=0.01)
     show(result)
     ftable(result)
     plot(result)

