Méthodes d’apprentissage automatique pour la bioinformatique - BIOL-F-524 TP 5: Analyse discriminante linéraire 19 Décembre 2008 1 Introduction L’analyse discriminante linéaire (Linear discriminant analysis - LDA) une une manière de calculer un hyperplan séparateur permettant de classifier des données. Les données utilisées pour ce TP se trouvent à l’adresse : http://www.ulb.ac.be/di/map/yleborgn/BIOLF524/TP5/script.tgz L’archive contient le fichier R ’lda.R’ dans lequel se trouvent les fonctions qui seront utilisées dans le TP, ainsi qu’une version du jeu de données microarray Golub modifié de manière à ce que les classes y soient équitablement représentées. Une fois dans R, chargez ’lda.R’ source("lda.R") et le jeu de données ’Golub50.Rdata’ : load("Golub50.Rdata") Le jeu de données Golub50 contient : – Une matrice X de 50 observations pour 7129 variables, représentant les expressions d’un ensemble de 7129 gènes pour 50 patients différents. – Une sortie Y , associant un type de leucémie pour chacun des 50 patients (25 de chaque type, classe 0 ou 1). 2 Analyse discriminante linéaire La fonction ’lda.example()’ illustre l’analyse discriminante linéaire sur un jeu de données généré artificellement, et ayant 2 classes possibles. La ligne noire continue represente la séparation optimale (calculée en ayant connaissance des paramètres ayant permi de générer les données), et la ligne bleue représente la séparation obtenue en estimant à partir du jeu de données les paramètres de la gaussienne multivaériée correspondant à chacune des classes. 1 10 5 0 x2 −5 −10 −10 −5 0 5 10 x1 3 Application à Golub Réduisez d’abord la dimensionalité du dataset Golub à 2 dimensions, en ne retenant que les deux premières composantes principales. Celles-ci sont obtenues en calculant les deux premiers vecteurs propres de la matrice de covariance des entrées, voir fonction ’getPC’. X.2<-getPC(X) Appliquez ensuite l’analyse discriminante linéaire : lda(X.2,Y) Enfin, calculez l’erreur empirique et l’erreur en 10-fold CV de ce modèle. 2