From: Benjamin Auder Date: Mon, 28 Nov 2016 17:04:45 +0000 (+0100) Subject: prepare structure for R package X-Git-Url: https://git.auder.net/doc/html/%7B%7B%20asset%28%27mixstore/images/iris_pca.png%27%29%20%7D%7D?a=commitdiff_plain;h=493a35bfea6d1210c94ced8fbfe3e572f0389ea5;p=valse.git prepare structure for R package --- diff --git a/DESCRIPTION b/DESCRIPTION new file mode 100644 index 0000000..8902f1a --- /dev/null +++ b/DESCRIPTION @@ -0,0 +1,13 @@ +Package: valse +Title: Variable selection with mixture of models +Date: 2016-12-01 +Version: 0.1-0 +Description: TODO +Authors@R: c( person("Benjamin Auder", "Developer", role=c("ctb","cre"), email="Benjamin.Auder@math.u-psud.fr"), + person("Benjamin Goehry", "User", role="aut", email = "Benjamin.Goehry@math.u-psud.fr"), + person("Emilie Devijver", "User", role="ctb", email = "Emilie.Devijver@kuleuven.be")) +Depends: + R (>= 2.15) +LazyData: yes +URL: http://git.auder.net/?p=valse.git +License: MIT diff --git a/InputParameters/basicInitParameters.m b/OLD_MATLAB/InputParameters/basicInitParameters.m similarity index 100% rename from InputParameters/basicInitParameters.m rename to OLD_MATLAB/InputParameters/basicInitParameters.m diff --git a/InputParameters/compileMex.m b/OLD_MATLAB/InputParameters/compileMex.m similarity index 100% rename from InputParameters/compileMex.m rename to OLD_MATLAB/InputParameters/compileMex.m diff --git a/InputParameters/generateIO.m b/OLD_MATLAB/InputParameters/generateIO.m similarity index 100% rename from InputParameters/generateIO.m rename to OLD_MATLAB/InputParameters/generateIO.m diff --git a/InputParameters/generateIOdefault.m b/OLD_MATLAB/InputParameters/generateIOdefault.m similarity index 100% rename from InputParameters/generateIOdefault.m rename to OLD_MATLAB/InputParameters/generateIOdefault.m diff --git a/InputParameters/grillelambda.m b/OLD_MATLAB/InputParameters/grillelambda.m similarity index 100% rename from InputParameters/grillelambda.m rename to OLD_MATLAB/InputParameters/grillelambda.m diff --git a/InputParameters/initSmallEM.m b/OLD_MATLAB/InputParameters/initSmallEM.m similarity index 100% rename from InputParameters/initSmallEM.m rename to OLD_MATLAB/InputParameters/initSmallEM.m diff --git a/InputParameters/selectiontotale.m b/OLD_MATLAB/InputParameters/selectiontotale.m similarity index 100% rename from InputParameters/selectiontotale.m rename to OLD_MATLAB/InputParameters/selectiontotale.m diff --git a/ProcLassoMLE/EMGLLF.m b/OLD_MATLAB/ProcLassoMLE/EMGLLF.m similarity index 100% rename from ProcLassoMLE/EMGLLF.m rename to OLD_MATLAB/ProcLassoMLE/EMGLLF.m diff --git a/ProcLassoMLE/compileMex.m b/OLD_MATLAB/ProcLassoMLE/compileMex.m similarity index 100% rename from ProcLassoMLE/compileMex.m rename to OLD_MATLAB/ProcLassoMLE/compileMex.m diff --git a/ProcLassoMLE/constructionModelesLassoMLE.m b/OLD_MATLAB/ProcLassoMLE/constructionModelesLassoMLE.m similarity index 100% rename from ProcLassoMLE/constructionModelesLassoMLE.m rename to OLD_MATLAB/ProcLassoMLE/constructionModelesLassoMLE.m diff --git a/ProcLassoRank/EMGrank.m b/OLD_MATLAB/ProcLassoRank/EMGrank.m similarity index 100% rename from ProcLassoRank/EMGrank.m rename to OLD_MATLAB/ProcLassoRank/EMGrank.m diff --git a/ProcLassoRank/compileMex.m b/OLD_MATLAB/ProcLassoRank/compileMex.m similarity index 100% rename from ProcLassoRank/compileMex.m rename to OLD_MATLAB/ProcLassoRank/compileMex.m diff --git a/ProcLassoRank/constructionModelesLassoRank.m b/OLD_MATLAB/ProcLassoRank/constructionModelesLassoRank.m similarity index 100% rename from ProcLassoRank/constructionModelesLassoRank.m rename to OLD_MATLAB/ProcLassoRank/constructionModelesLassoRank.m diff --git a/SelectModel/selectionModelesLassoMLE.m b/OLD_MATLAB/SelectModel/selectionModelesLassoMLE.m similarity index 100% rename from SelectModel/selectionModelesLassoMLE.m rename to OLD_MATLAB/SelectModel/selectionModelesLassoMLE.m diff --git a/SelectModel/selectionModelesLassoRank.m b/OLD_MATLAB/SelectModel/selectionModelesLassoRank.m similarity index 100% rename from SelectModel/selectionModelesLassoRank.m rename to OLD_MATLAB/SelectModel/selectionModelesLassoRank.m diff --git a/SelectModel/selectiondindice.m b/OLD_MATLAB/SelectModel/selectiondindice.m similarity index 100% rename from SelectModel/selectiondindice.m rename to OLD_MATLAB/SelectModel/selectiondindice.m diff --git a/SelectModel/selectionmodele.m b/OLD_MATLAB/SelectModel/selectionmodele.m similarity index 100% rename from SelectModel/selectionmodele.m rename to OLD_MATLAB/SelectModel/selectionmodele.m diff --git a/SelectModel/suppressionmodelesegaux.m b/OLD_MATLAB/SelectModel/suppressionmodelesegaux.m similarity index 100% rename from SelectModel/suppressionmodelesegaux.m rename to OLD_MATLAB/SelectModel/suppressionmodelesegaux.m diff --git a/SelectModel/suppressionmodelesegaux2.m b/OLD_MATLAB/SelectModel/suppressionmodelesegaux2.m similarity index 100% rename from SelectModel/suppressionmodelesegaux2.m rename to OLD_MATLAB/SelectModel/suppressionmodelesegaux2.m diff --git a/InputParameters/basicInitParameters.R b/R/basicInitParameters.R similarity index 100% rename from InputParameters/basicInitParameters.R rename to R/basicInitParameters.R diff --git a/InputParameters/generateIO.R b/R/generateIO.R similarity index 100% rename from InputParameters/generateIO.R rename to R/generateIO.R diff --git a/InputParameters/generateIOdefault.R b/R/generateIOdefault.R similarity index 100% rename from InputParameters/generateIOdefault.R rename to R/generateIOdefault.R diff --git a/InputParameters/gridLambda.R b/R/gridLambda.R similarity index 100% rename from InputParameters/gridLambda.R rename to R/gridLambda.R diff --git a/InputParameters/initSmallEM.R b/R/initSmallEM.R similarity index 100% rename from InputParameters/initSmallEM.R rename to R/initSmallEM.R diff --git a/selmix.m b/R/main.R similarity index 99% rename from selmix.m rename to R/main.R index a4bea19..b5b5144 100644 --- a/selmix.m +++ b/R/main.R @@ -1,3 +1,5 @@ +## TODO: turn this code into R + classdef selmix < handle properties (SetAccess = private) diff --git a/SelectModel/selectionindice.R b/R/selectionindice.R similarity index 100% rename from SelectModel/selectionindice.R rename to R/selectionindice.R diff --git a/SelectModel/selectionmodele.R b/R/selectionmodele.R similarity index 100% rename from SelectModel/selectionmodele.R rename to R/selectionmodele.R diff --git a/SelectModel/suppressionmodelesegaux.R b/R/suppressionmodelesegaux.R similarity index 100% rename from SelectModel/suppressionmodelesegaux.R rename to R/suppressionmodelesegaux.R diff --git a/SelectModel/suppressionmodelesegaux2.R b/R/suppressionmodelesegaux2.R similarity index 100% rename from SelectModel/suppressionmodelesegaux2.R rename to R/suppressionmodelesegaux2.R diff --git a/README.md b/README.md index b48c505..ada56d8 100644 --- a/README.md +++ b/README.md @@ -1,53 +1,7 @@ -# model SELECTion +# VAriable seLection with mixtureS of modEls -This code is the applied part of the PhD thesis of [Emilie Devijver](http://www.math.u-psud.fr/~devijver/). +This code is the applied part of the PhD thesis of [Benjamin Gohehry](http://www.math.u-psud.fr/~goehry/). ## Description -The function selmix delivers a multivariate Gaussian mixture in regression model collection. -According to the parameter estimation, we can compute classical model selection criterion, as BIC or AIC, or slope heuristic, using the CAPUSHE package. -The methodology used is described in 'Model-Based Clustering for High-Dimensional Data. Application to Functional Data.', -available at [this location](https://hal.archives-ouvertes.fr/hal-01060063) - -## Arguments - -Regressors, denoted by X (of size n x p) and responses, denoted by Y (of size n x q) are must-have arguments. - -Optionally, we could add - -* gamma: weight power in the Lasso penalty (according to Stadler et al., $\gamma \in \{0,1/2,1\}$; -* mini: the minimum number of iterations; -* maxi: the maximum number of iterations; -* tau: the threshold for stopping EM algorithm; -* kmin and kmax: the bounds of interesting number of components, -* rangmin and rangmax: the bounds of interesting rank values. - -## Usage - - objet = selmix(X,Y) - objet.run(index) - -For index=1, it computes the Lasso-MLE procedure. -For index=2, it computes the Lasso-Rank procedure. - -/!\ Be careful to the current path /!\ - -## Values - -* phiInit, rhoInit, piInit, gamInit: the initialization of the matrices phi, rho, pi and gamma, -* gridLambda: grid of regularization parameters used to select relevant variables (if kmax-kmin=0, it is, if not, it is the last grid of regularization parameters) -* A1,A2: indices of variables selected or not selected (matrices of size (p+1) x q x size(gridLambda)) -* Phi,Rho,Pi: estimations of each parameter thanks to the procedure LassoMLE if compute index=1, and thanks to the procedure LassoRank if computed index=2. - - -## Example - - n=10; - p=10; - q=5; - X=randn(n,p); - Y=randn(n,q); - - objet=selmix(X,Y); - objet.run(1); - objet.run(2); +TODO : see R package diff --git a/data/TODO b/data/TODO new file mode 100644 index 0000000..e69de29 diff --git a/man/TODO b/man/TODO new file mode 100644 index 0000000..e69de29 diff --git a/src/Makevars b/src/Makevars new file mode 100644 index 0000000..aa08234 --- /dev/null +++ b/src/Makevars @@ -0,0 +1,7 @@ +PKG_CFLAGS=-g -I. + +PKG_LIBS=-lm + +SOURCES = $(wildcard adapters/*.c sources/*.c sources/utils/*.c) + +OBJECTS = $(SOURCES:.c=.o) diff --git a/ProcLassoMLE/EMGLLF_interface.c b/src/adapters/EMGLLF_interface.c similarity index 100% rename from ProcLassoMLE/EMGLLF_interface.c rename to src/adapters/EMGLLF_interface.c diff --git a/ProcLassoRank/EMGrank_interface.c b/src/adapters/EMGrank_interface.c similarity index 100% rename from ProcLassoRank/EMGrank_interface.c rename to src/adapters/EMGrank_interface.c diff --git a/ProcLassoMLE/constructionModelesLassoMLE_interface.c b/src/adapters/constructionModelesLassoMLE_interface.c similarity index 100% rename from ProcLassoMLE/constructionModelesLassoMLE_interface.c rename to src/adapters/constructionModelesLassoMLE_interface.c diff --git a/ProcLassoRank/constructionModelesLassoRank_interface.c b/src/adapters/constructionModelesLassoRank_interface.c similarity index 100% rename from ProcLassoRank/constructionModelesLassoRank_interface.c rename to src/adapters/constructionModelesLassoRank_interface.c diff --git a/InputParameters/selectiontotale_interface.c b/src/adapters/selectiontotale_interface.c similarity index 100% rename from InputParameters/selectiontotale_interface.c rename to src/adapters/selectiontotale_interface.c diff --git a/ProcLassoMLE/EMGLLF.c b/src/sources/EMGLLF.c similarity index 100% rename from ProcLassoMLE/EMGLLF.c rename to src/sources/EMGLLF.c diff --git a/ProcLassoMLE/EMGLLF.h b/src/sources/EMGLLF.h similarity index 100% rename from ProcLassoMLE/EMGLLF.h rename to src/sources/EMGLLF.h diff --git a/ProcLassoRank/EMGrank.c b/src/sources/EMGrank.c similarity index 100% rename from ProcLassoRank/EMGrank.c rename to src/sources/EMGrank.c diff --git a/ProcLassoRank/EMGrank.h b/src/sources/EMGrank.h similarity index 100% rename from ProcLassoRank/EMGrank.h rename to src/sources/EMGrank.h diff --git a/ProcLassoMLE/constructionModelesLassoMLE.c b/src/sources/constructionModelesLassoMLE.c similarity index 100% rename from ProcLassoMLE/constructionModelesLassoMLE.c rename to src/sources/constructionModelesLassoMLE.c diff --git a/ProcLassoMLE/constructionModelesLassoMLE.h b/src/sources/constructionModelesLassoMLE.h similarity index 100% rename from ProcLassoMLE/constructionModelesLassoMLE.h rename to src/sources/constructionModelesLassoMLE.h diff --git a/ProcLassoRank/constructionModelesLassoRank.c b/src/sources/constructionModelesLassoRank.c similarity index 100% rename from ProcLassoRank/constructionModelesLassoRank.c rename to src/sources/constructionModelesLassoRank.c diff --git a/ProcLassoRank/constructionModelesLassoRank.h b/src/sources/constructionModelesLassoRank.h similarity index 100% rename from ProcLassoRank/constructionModelesLassoRank.h rename to src/sources/constructionModelesLassoRank.h diff --git a/InputParameters/selectiontotale.c b/src/sources/selectiontotale.c similarity index 100% rename from InputParameters/selectiontotale.c rename to src/sources/selectiontotale.c diff --git a/InputParameters/selectiontotale.h b/src/sources/selectiontotale.h similarity index 100% rename from InputParameters/selectiontotale.h rename to src/sources/selectiontotale.h diff --git a/Util/ioutils.c b/src/sources/utils/ioutils.c similarity index 100% rename from Util/ioutils.c rename to src/sources/utils/ioutils.c diff --git a/Util/ioutils.h b/src/sources/utils/ioutils.h similarity index 100% rename from Util/ioutils.h rename to src/sources/utils/ioutils.h diff --git a/Util/omp_num_threads.h b/src/sources/utils/omp_num_threads.h similarity index 100% rename from Util/omp_num_threads.h rename to src/sources/utils/omp_num_threads.h