\HeaderA{LassoCMA}{L1 penalized logistic regression}{LassoCMA}
\keyword{multivariate}{LassoCMA}
\begin{Description}\relax
The Lasso (Tibshirani, 1996) is one of the most popular
tools for simultaneous shrinkage and variable selection. Recently,
Young-Park and Hastie (2007) have developped and algorithm to
compute the entire solution path of the Lasso for an arbitrary
generalized linear model, implemented in the package \code{glmpath}.
The method can be used for variable selection alone, s. \code{\LinkA{GeneSelection}{GeneSelection}}.

For \code{S4} method information, see \code{LassoCMA-methods}.
\end{Description}
\begin{Usage}
\begin{verbatim}
LassoCMA(X, y, f, learnind, norm.fraction = 0.1, ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{X}] Gene expression data. Can be one of the following:
\Itemize{
\item A \code{matrix}. Rows correspond to observations, columns to variables.
\item A \code{data.frame}, when \code{f} is \emph{not} missing (s. below).
\item An object of class \code{ExpressionSet}.
\bold{note}: by default, the predictors are scaled to have unit variance
and zero mean. Can be changed by passing \code{standardize = FALSE} via
the \code{...} argument. 
}

\item[\code{y}] Class labels. Can be one of the following:
\Itemize{
\item A \code{numeric} vector.
\item A \code{factor}.
\item A \code{character} if \code{X} is an \code{ExpressionSet} that
specifies the phenotype variable.
\item \code{missing}, if \code{X} is a \code{data.frame} and a
proper formula \code{f} is provided.
}
\bold{WARNING}: The class labels will be re-coded to
range from \code{0} to \code{K-1}, where \code{K} is the
total number of different classes in the learning set.

\item[\code{f}] A two-sided formula, if \code{X} is a \code{data.frame}. The
left part correspond to class labels, the right to variables.
\item[\code{learnind}] An index vector specifying the observations that
belong to the learning set. May be \code{missing};
in that case, the learning set consists of all
observations and predictions are made on the
learning set.
\item[\code{norm.fraction}] L1 Shrinkage intensity, expressed as the fraction
of the coefficient L1 norm compared to the
maximum possible L1 norm (corresponds to \code{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.
\item[\code{...}] Further arguments passed to the function \code{glmpath}
from the package of the same name.
\end{ldescription}
\end{Arguments}
\begin{Value}
An object of class \code{clvarseloutput}.
\end{Value}
\begin{Note}\relax
For a strongly related method, s. \code{\LinkA{ElasticNetCMA}{ElasticNetCMA}}.

Up to now, this method can only be applied to binary classification.
\end{Note}
\begin{Author}\relax
Martin Slawski \email{martin.slawski@campus.lmu.de}

Anne-Laure Boulesteix \url{http://www.slcmsr.net/boulesteix}
\end{Author}
\begin{References}\relax
Tibshirani, R. (1996)

Regression shrinkage and selection via the lasso.

\emph{Journal of the Royal Statistical Society B, 58(1), 267-288}

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

L1-regularization path algorithm for generalized linear models.

\emph{Journal of the Royal Statistical Society B, 69(4), 659-677}
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{compBoostCMA}{compBoostCMA}}, \code{\LinkA{dldaCMA}{dldaCMA}}, \code{\LinkA{ElasticNetCMA}{ElasticNetCMA}},
\code{\LinkA{fdaCMA}{fdaCMA}}, \code{\LinkA{flexdaCMA}{flexdaCMA}}, \code{\LinkA{gbmCMA}{gbmCMA}},
\code{\LinkA{knnCMA}{knnCMA}}, \code{\LinkA{ldaCMA}{ldaCMA}},
\code{\LinkA{nnetCMA}{nnetCMA}}, \code{\LinkA{pknnCMA}{pknnCMA}}, \code{\LinkA{plrCMA}{plrCMA}},
\code{\LinkA{pls\_ldaCMA}{pls.Rul.ldaCMA}}, \code{\LinkA{pls\_lrCMA}{pls.Rul.lrCMA}}, \code{\LinkA{pls\_rfCMA}{pls.Rul.rfCMA}},
\code{\LinkA{pnnCMA}{pnnCMA}}, \code{\LinkA{qdaCMA}{qdaCMA}}, \code{\LinkA{rfCMA}{rfCMA}},
\code{\LinkA{scdaCMA}{scdaCMA}}, \code{\LinkA{shrinkldaCMA}{shrinkldaCMA}}, \code{\LinkA{svmCMA}{svmCMA}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
### 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 L1 penalized logistic regression (no tuning)
lassoresult <- LassoCMA(X=golubX, y=golubY, learnind=learnind, norm.fraction = 0.2)
show(lassoresult)
ftable(lassoresult)
plot(lassoresult)
\end{ExampleCode}
\end{Examples}

