G Gasso
Data Mining
TD Régression logistique
4eme année
— Mise en œuvre de la régression logistique
— Test sur des données jouet et données réelles
1 Sans détours
1. La fonction reglogclass.m permettant de calculer les paramètres d’un modèle de régression
logistique est fournie sur Moodle. Télécharger et comprenez les différentes étapes de ce pro-
gramme.
2. Ecrire une fonction ypred = reglogval(X, theta) qui prend en entrée une matrice de données
Xet le vecteur θet qui retourne le vecteur des labels prédits.
2 Premiers tests
1. Utiliser le script fourni lors de la séance précédente pour générer n1= 100 données pour C1et
n2= 150 pour C2. Dans la suite on ne travaillera qu’avec les données X,Y générées.
— Tester la fonction reglogclass sur ces données. Tracer la frontière de décision donnée par
la méthode de la régression logistique. Calculer l’erreur de classification.
— Comparez les résultats obtenus avec ceux de la LDA.
3 Classification de chiffres manuscripts
3.1 Tour de chauffe
Sur Moodle se trouvent les données MNIST apprentissage et test contenant des chiffes 0 à 9.
Téléchargez ces données. Le label associé à un chiffre appartient à {0,· · · ,9,10}(les chiffres 0 ont
comme label 10).
1. Choisir deux chiffres et récupérer les données Xet les labels Ycorrespondants à ces chiffres
dans le jeu d’apprentissage pour former un problème de classification binaire. Faire de même
pour le jeu de test.
2. Réaliser une classification par la méthode de régression logistique sur les données ainsi formées
(Pensez aux fondamentaux de la fouille de données : normalisation des données ; on calcule le modèle sur
l’ensemble d’apprentissage ; on sélectionne les éventuels hyper-paramètres sur les données de validation ;
on teste le modèle final sur le jeu de test). Evaluer les erreurs de classification et de test.
3. Si votre machine tient la charge comparer la régression logistique à la LDA.
3.2 Analyse fine des erreurs de classification
Pour simplifier les notations, on va supposer que C1est la classe des "positifs" (y= 1) et C2la
classe des "négatifs" (y= 0). Pour analyser finement les erreurs on établit la matrice de confusion
suivante