# Regularization for variable selection in discriminant analysis

### Description

This function implements the variable selection in discriminant analysis using a lasso ranking on the variables as described in Sedki et al (2014). The variable ranking step uses the penalized EM algorithm of Zhou et al (2009) (adapted in Sedki et al (2014) for the discriminant analysis settings). A testing sample can be used to compute the averaged classification error rate.

### Usage

1 2 | ```
SelvarLearnLasso(data, knownlabels, lambda, rho, hybrid.size, models,
regModel, indepModel, dataTest, labelsTest, nbCores)
``` |

### Arguments

`data` |
matrix containing quantitative data. Rows correspond to observations and columns correspond to variables |

`knownlabels` |
an integer vector or a factor of size number of observations. Each cell corresponds to a cluster affectation |

`lambda` |
numeric listing of tuning parameter for |

`rho` |
numeric listing of tuning parameter for |

`hybrid.size` |
optional parameter make less strength the hybrid forward and backward
algorithms to select |

`models` |
a Rmixmod [ |

`regModel` |
list of character defining the covariance matrix form for
the linear regression of |

`indepModel` |
list of character defining the covariance matrix form for
independent variables |

`dataTest` |
matrix containing quantitative testing data. Rows correspond to observations and columns correspond to variables |

`labelsTest` |
an integer vector or a factor of size number of testing observations. Each cell corresponds to a cluster affectation |

`nbCores` |
number of CPUs to be used when parallel computing is utilized (default is 2) |

### Value

`S ` |
The selected set of relevant clustering variables |

`R ` |
The selected subset of regressors |

`U ` |
The selected set of redundant variables |

`W ` |
The selected set of independent variables |

`criterionValue` |
The criterion value for the selected model |

`nbCluster` |
The selected number of clusters |

`model` |
The selected covariance model |

`regModel` |
The selected covariance form for the regression |

`indepModel` |
The selected covariance form for the independent variables |

`proba` |
Optional : matrix containing the conditional probabilities of belonging to each cluster for the testing observations |

`partition` |
Optional: vector containing the cluster assignments of the testing observations according to the Maximum-a-Posteriori rule |

`error ` |
Optional : error rate done by the predicted partition (obtained using Maximum-A-Posteriori rule) |

### Author(s)

Mohammed Sedki <mohammed.sedki@u-psud.fr>

### References

Zhou, H., Pan, W., and Shen, X., 2009. "Penalized model-based clustering with unconstrained covariance matrices". Electronic Journal of Statistics, vol. 3, pp.1473-1496.

Maugis, C., Celeux, G., and Martin-Magniette, M. L., 2009. "Variable selection in model-based clustering: A general variable role modeling". Computational Statistics and Data Analysis, vol. 53/11, pp. 3872-3882.

Sedki, M., Celeux, G., Maugis-Rabusseau, C., 2014. "SelvarMix: A R package for variable selection in model-based clustering and discriminant analysis with a regularization approach". Inria Research Report available at http://hal.inria.fr/hal-01053784

### See Also

SelvarClustLasso SortvarLearn SortvarClust scenarioCor

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ```
## Not run:
## Simulated data example as shown in Sedki et al (2014)
require(Rmixmod)
require(glasso)
data(scenarioCor)
lambda <- seq(20, 50, length = 10)
rho <- seq(1, 2, length=2)
hybrid.size <- 3
models <- mixmodGaussianModel(family = "spherical", equal.proportions = TRUE)
regModel <- c("LI","LB","LC")
indepModel <- c("LI","LB")
## variables selection in discriminant analysis
## training sample : n = 1900 observations , p = 14 variables
data.learn <- scenarioCor[1:1900,1:14]
labels.learn <-scenarioCor[1:1900,15]
## testing sample : n = 100 observations, p = 14 variables
data.test <- scenarioCor[1901:2000,1:14]
labels.test <-scenarioCor[1901:2000,15]
simulate.da <- SelvarLearnLasso(data.learn, labels.learn, lambda, rho, hybrid.size,
models, regModel, indepModel, data.test, labels.test)
## End(Not run)
``` |

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.