(d) Si l’on compare les traitements algorithmiques faits par K-means et l’algorithme EM pour
une loi de Bernoulli multivari´
ee, donnez les principales ressemblances et les principales
diff´
erences que l’on peut noter.
3. S´
election de variables (5pt)
Supposons que l’on veut s´
electionner les variables d’int´
erˆ
et pour le jeu de donn´
ees CSDMC2010
SPAM corpus de la question pr´
ec´
edente, comprenant 1000 variables binaires, indiquant la pr´
esence
ou non d’un mot particulier. Pour le besoin de la question, faites une partition stratifi´
ee du jeu de
donn´
ees en deux partitions distinctes, soit une partition d’entraˆ
ınement et une partition de test,
chacune comprenant 50 % des donn´
ees, et utilisez-la pour les manipulations demand´
ees dans les
questions suivantes.
(a) Effectuez une s´
election univari´
ee en conservant les 10 meilleures variables parmi les 1000,
selon le test 5du χ2et le crit`
ere d’information mutuelle 6. Effectuez cette s´
election sur la
partition d’entraˆ
ınement. Rapportez les variables s´
electionn´
ees les deux crit`
eres de s´
election
utilis´
es. Rapportez ´
egalement la performance de classement sur la partition de test, en utilisant
un SVM lin´
eaire 7comme mod`
ele de classement g´
en´
er´
e sur la partition d’entraˆ
ınement. Com-
parez les r´
esultats avec ceux obtenus avec la mˆ
eme configuration, mais utilisant l’ensemble
des 1000 variables.
(b) R´
ep´
etez les exp´
erimentations de la sous-question pr´
ec´
edente avec la s´
election s´
equentielle
arri`
ere impl´
ement´
ee dans la fonction feature selection.RFE de scikit-learn. Faites
les exp´
erimentations en utilisant un SVM lin´
eaire comme mod`
ele de base, en faisant un
r´
eentraˆ
ınement `
a chaque it´
eration de l’algorithme (step=1).
(c) Impl´
ementez un algorithme de s´
election avant s´
equentielle qui ajoute les variables une `
a la
fois, en d´
emarrant d’un ensemble vide de variables, tel que pr´
esent´
e en classe. Portez attention
au fait que la s´
election de variables se base sur un nouvel entraˆ
ınement d’un mod`
ele de classe-
ment pour chaque sous-ensemble candidat, contrairement `
a l’algorithme impl´
ement´
e dans la
fonction feature selection.RFE, qui se base sur les cœfficients fournis par le mod`
ele
de classement. Votre classe doit au minimum poss´
eder les fonctions fit,get support et
transform. Fournissez le code de votre impl´
ementation lors du d´
epˆ
ot de votre devoir dans
l’ENA.
(d) Appliquez l’algorithme de s´
election s´
equentielle avant impl´
ement´
e`
a la sous-question pr´
ec´
e-
dente (c) sur le jeu de donn´
ees CSDMC2010 SPAM corpus selon ce qui a ´
et´
e demand´
e`
a la
sous-question (a). Utiliser un SVM lin´
eaire g´
en´
er´
e sur l’ensemble d’entraˆ
ınement. Comparez
les r´
esultats avec ceux obtenus avec les approches test´
ees aux sous-questions (a) et (b).
(e) Expliquez pourquoi un algorithme de s´
election arri`
ere s´
equentielle est souvent pr´
ef´
er´
e`
a un
algorithme de s´
election avant s´
equentielle pour des donn´
ees comportant des d´
ependances
non lin´
eaires complexes entre les variables. Expliquez ´
egalement pourquoi l’algorithme de
s´
election s´
equentielle arri`
ere peut difficilement proc´
eder `
a un nouvel entraˆ
ınement pour chaque
sous-ensemble candidat de variables pour des cas o`
u il y a un grand nombre de variables (D
grand) et un nombre relativement faible de variables `
a s´
electionner (KD), comme c’est
le cas pour une s´
election de 10 variables parmi 1000.
5. Fonction feature selection.chi2.
6. Fonction feature selection.mutual info classif.
7. Classe svm.LinearSVC.
3