classification dans des bases de données par des...

32
Classification dans des bases de données par des méthodes de datamining Yawo Eli Amesefe Guillaume Cernier Christophe Labrousse

Upload: vutruc

Post on 15-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Classification dans des bases de données par des méthodes de datamining

Yawo Eli Amesefe Guillaume Cernier

Christophe Labrousse

Page 2: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Introduction

L’utilisation généralisée de l’informatique ces dernières dizaines d’années a conduit à la constitution d’énormes bases de données, les informations étant toujours plus précises, et facilement maintenables. C’est dans ce contexte que se sont développées les techniques de fouilles de données, traduction française du terme anglais datamining.

Au croisement des statistiques et de l’intelligence artificielle, ce terme générique se compose d’outils théoriques complexes, puissants, et extrêmement diversifiés ; et au travers d’un véritable processus de traitement, il extrait des méga-bases de données des informations surprenantes, des associations insoupçonnées, des modèles prédictifs… .

Appliquée depuis longtemps dans les banques pour prédire les clients à risque, la fouille de donnée s’est échappée de ce carcan rigide pour envahir des domaines aussi différents que la grande distribution ou la pharmaceutique. Elle est devenue une des technologies, ou plutôt un des recueils de technologies, qui allie le mieux la recherche de pointe, un fort retour sur investissement, et une grande efficacité dans le domaine de l’aide à la décision.

Nous commencerons par étudier dans ce document, les trois méthodes les plus utilisées actuellement à savoir les méthodes des arbres de décision, les machines à support de vecteurs et la régression logistique.

Page 3: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Présentation théorique des méthodes

Les arbres de décision

Présentation La méthode des arbres de décision consiste à réaliser la classification d’un objet selon un ensemble de classes prédéfinies, en effectuant une suite de tests sur les attributs décrivant cet objet. Il s’agit d’un apprentissage supervisé puisque les classes sont connues à l’avance. Les tests sont organisés de façon à ce que la réponse à l’un d’eux indique à quel prochain test on doit soumettre l’objet. Ils sont donc organisés sous forme d’un arbre dont chaque nœud correspond à un test portant sur un ou plusieurs des attributs de l’objet, et chaque feuille de cet arbre correspond à une des classes prédéfinies. Cette technique nécessite donc la construction d’un arbre de décision, à partir d’un ensemble d’apprentissage S de m exemples, et d’un ensemble de classes prédéfinies

Il faut aussi trouver une mesure pour choisir, à chaque pas de test, le meilleur attribut à tester à chaque nœud de l’arbre de décision. Ce choix est un critère central pour la technique des arbres de décision, car il faut choisir l’attribut qui permet discrimine le mieux les exemples d’apprentissage. Quelques mesures utilisées dans les algorithmes d’arbres de décision sont décrites dans la section suivante.

Construction d’un arbre de décision

Formalisation du problème Nous disposons d’un ensemble d’apprentissage S de m exemples ou objets. On note un de ces exemples. Cet exemple ou objet est décrit par d attributs

et appartient à une classe

Mesures pour la sélection du meilleur attribut La mesure servant à sélectionner le meilleur attribut à tester à un nœud test doit nous permettre de rechercher parmi les différents attributs des objets d’un ensemble d’apprentissage, celui qui possède la plus grande corrélation avec la répartition en classes. Nous présenterons par la suite trois mesures permettant de choisir le meilleur attribut, il s’agit de :

• L’entropie croisée

Page 4: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

• La métrique de Gini • Le critère du • Le critère de Lerman

Construction récursive de l’arbre de décision En possession de ces outils, il faut commencer par chercher le meilleur attribut, selon une mesure fixée, afin de construire le nœud test racine de l’arbre de décision. Une fois cet attribut identifié, les m objets de l’ensemble d’apprentissage sont projetés selon les valeurs prises par cet attribut. Cette projection est représentée dans l’arbre par les branches partant du nœud test vers les nœuds fils. Le processus est ensuite répété sur chacun des sous ensembles issus de la projection de l’étape précédente : un meilleur attribut selon la même mesure que précédemment est recherché parmi les attributs n’ayant pas encore servi à faire un test. Le processus s’arrête lorsque tous les objets d’un sous ensemble issu d’une projection appartiennent à une même classe, ou lorsqu’un de ces sous ensembles est vide (ce qui signifie qu’aucun objet ne prend la valeur de projection de l’attribut). D’autre part, s’il ne reste plus d’attribut à tester, le processus s’arrête et les objets issus de la projection sont considérés comme appartenant à la classe majoritairement représentée.

Elagage d’un arbre trop précis L’élagage d’un arbre de décision consiste à chercher une valeur optimale du nombre de nœuds tests dans l’arbre afin de réduire sa complexité. En effet, une application de l’algorithme de construction récursive de l’arbre de décision jusqu’à son terme fabrique un arbre dont les feuilles sont pures dans le meilleur cas, avec un grand nombre de nœuds tests et une faible cardinalité des ensembles d’objets constituant ces feuilles. Pour simplifier cet arbre, une technique consiste à construire complètement l’arbre de décision puis à l’élaguer progressivement en remontant des feuilles vers la racine. On élimine en quelques sortes les tests les moins pertinents pour faire le classement des données, puisque les tests sont effectués à la suite sur les attributs par ordre de pertinence, l’élagage des feuilles vers la racine se justifie. Pour arrêter l’élagage, on utilise une mesure de qualité qui exprimera l’erreur commise après élagage de l’arbre de décision et une mesure de sa complexité. Un exemple d’une telle mesure sera étudiant dans les sections suivantes. D’autre part, certains problèmes inhérents à la construction d’arbres de décision se posent: Jusqu’à quelle profondeur construire l’arbre ? Comment gérer les attributs à valeurs continue (pouvant prendre un nombre infini de valeur)? Quelle mesure choisir pour la sélection des attributs ? Comment gérer des objets possédant des valeurs nulles pour certains attributs ?

Page 5: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

L’algorithme C4.5 L’algorithme C4.5 est une extension de l’algorithme de construction d’arbres de décision de base [2]. Cet algorithme utilise comme mesure de sélection du meilleur attribut, l’entropie croisée. Etant donné une classe , et un attribut a, puis et , les ensembles finis des valeurs qu’elles peuvent prendre. L’entropie croisée de ! et a est donné par la formule :

Cette formule nous vient de la théorie de l’information et peut encore s’écrire sous la forme d’une différence d’entropies :

Avec , l’entropie de! , et

, l’entropie de sachant a. C’est cette quantité qui est la plus pertinente car elle permet de voir la probabilité conditionnelle par rapport à la valeur de la classe.

signifie Probabilité . Dans la pratique, ces probabilités sont estimées par des pourcentages calculés à partir de l’ensemble d’apprentissage. L’algorithme d’élagage consiste à construire une séquence d’arbres par suppression successive des nœuds tests en remontant des feuilles vers la racine ; on élimine ainsi les tests les moins pertinents pour effectuer la classification. Notons cette séquence . est l’arbre constitué d’une seule feuille avec tous les objets de l’ensemble d’apprentissage. Pour passer d’un arbre

kT à

1kT

+ , il faut supprimer un nœud test et fusionner toutes les feuilles filles de ce nœud. Le critère choisi pour supprimer un nœud consiste à choisir le nœud ! qui minimise sur l’ensemble des nœuds

kT la valeur suivante :

Où :

est le nombre d’objets de l’ensemble d’apprentissage mal classés par le nœud de dans l’arbre élagué à .

est le nombre d’objets mal classés dans l’arbre non élagué. est le nombre de feuille de .

est le nombre de feuilles du sous-arbre de situés sous le nœud .

Page 6: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

On obtiendra donc que la séquence possède un élément qui donne un bon compromis entre la taille de l’arbre et la bonne classification des objets de l’ensemble d’apprentissage.

Page 7: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Les Machines à Vecteur de Support (SVM)

Présentation L’algorithme SVM est une technique d’apprentissage permettant de classer un ensemble d’éléments dans deux classes distinctes. Cette méthode diffère de celle vue précédemment car elle procède au classement des éléments, non pas en recherchant des attributs discriminants, mais en recherchant un hyperplan séparateur dans l’espace de représentation de ces éléments, qui servira de frontière entre ces deux classes. Nous disposons toujours d’un ensemble d’apprentissage , où chaque exemple ou objet est décrit par d attributs et appartient à une classe

. Etant donné que l’on utilisera un produit scalaire pour mesurer la similitude entre deux éléments [1], ces éléments seront représentés dans un espace Hilbertien (ceci implique un travail de prétraitement des données qualitatives dont nous reparlerons plus loin).

Recherche d’un séparateur linéaire Supposons dans un premier temps que l’ensemble d’apprentissage est séparable, c'est-à-dire qu’il existe un hyperplan, séparateur linéaire, permettant de distinguer les exemples positifs des exemples négatifs. La recherche d’un tel hyperplan dans un espace Hilbertien de dimension d consiste à trouver une fonction qui correspond à l’équation de l’hyperplan tel que :

De plus, grâce à l’hypothèse de séparabilité de l’ensemble d’apprentissage, nous avons la relation :

Notons qu’il existe en générale une infinité d’hyperplans séparateurs. Le critère d’optimalité retenu pour choisir un hyperplan parmi cette infinité est la suivante : On choisi parmi les hyperplans, celle qui maximise la distance minimale aux exemples d’apprentissage. Cet hyperplan optimal est défini par :

Page 8: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Figure 1: Recherche de l'hyperplan optimal dans un espace à deux dimensions.

Il s’agit de l’hyperplan qui sépare les éléments tout en se donnant la plus grande marge possible afin de toujours pouvoir bien classer les futurs objets soumis à la classification. Au vu de ce critère, certains ouvrages tels que [1] préfèrent le terme de Séparateurs à Vastes Marges à celui de machines à vecteurs de support, qui est la traduction littérale des Support Vector Machines (SVM).

Figure 2: Hyperplan optimal maximisant la marge

L’hyperplan optimal est perpendiculaire au segment de droite le plus court joignant un exemple d’apprentissage à cet hyperplan. Ce segment à pour longueur (rappelons que la distance d’un point y à un hyperplan d’équation est : . Lorsque l’on normalise cette distance minimale en prenant, par exemple, . On obtient ainsi une marge qui vaut . Pour maximiser cette marge, il faut donc minimiser .Voir [1] et [3]. Les éléments se trouvant sur les bords de la marge sont appelés vecteurs de support. Trouver l’hyperplan optimal reviens dons à résoudre le problème d’optimisation suivant :

On ne peut envisager de résoudre tel quel cette première écriture appelée formulation primale du problème d’optimisation, lorsque la dimension de l’espace devient grande [1]. Le problème d’optimisation est donc résolu en introduisant les multiplicateurs de

Page 9: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Lagrange. Nous obtenons ainsi une formulation duale du problème, équivalente à la première, et beaucoup plus simple et rapide à résoudre :

L’hyperplan solution est donné par:

Où les sont solution du problème dual.

Remarque : Il est intéressant de constater que, le problème d’optimisation primal est constitué d’une fonction objective strictement convexe et de contraintes affines, donc convexes. D’après la théorie de l’optimisation, ce problème admet une solution globale qui se traduit dans notre cas par l’unicité de l’hyperplan optimal. Ce résultat n’a été possible que parce qu’au préalable, nous nous sommes intéressés à des séparateurs linéaires. D’autres types de séparateurs non linéaires auraient certes pu fournir une bonne séparation des deux classes, mais auraient menés à des problèmes d’optimisation beaucoup plus complexes et ne possédant pas forcément une formulation duale traitable en temps raisonnable dans la pratique. Cette unicité est l’un des avantages majeurs des SVM. Nous verrons dans les sections suivantes comment trouver des séparateurs linéaires même si il n’y en a pas dans l’espace de représentation des données. Cette remarque montre l’importance de rechercher une séparation appartenant à la classe des séparateurs linéaires. Il est d’autre part montré que seuls les vecteurs de support jouent un rôle dans le calcul de l’hyperplan optimal (conditions de Karush-Kuhn-Tucker – les vecteurs de support sont les points dont les multiplicateurs de Lagrange sont non nuls) [1]. Cette remarque est intuitive puisque ce sont uniquement les éléments les plus « ambigus », les plus difficiles à classer qui permettront de définir une frontière entre les deux classes.

Cas des ensembles d’apprentissage non linéairement séparables La méthode des SVM peut être modifiée pour traiter les cas où l’ensemble d’apprentissage S n’est pas linéairement séparable. Pour ce faire, on utilise une technique dite des variables ressort (slack variables). Elle consiste à accorder un

Page 10: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

relâchement à chaque élément de l’ensemble d’apprentissage S. Ces éléments seront désormais soumis aux contraintes assouplies suivantes :

On minimise dans ce cas, la fonction :

Où est une pondération sur la somme totale des variables de relâchement . Elle est à fixer par l’utilisateur, et aura une valeur d’autant plus élevée que l’ensemble d’apprentissage tendra à être séparable (Le cas limite parfait étant un ensemble S séparable, dans ce cas tous les vaudraient 0).

Recherche d’un séparateur linéaire par passage dans un espace de redescription. Il arrive souvent que l’on n’ait pas une séparation linéaire des données dans l’espace de représentation des données. La technique utilisée dans la méthode des SVM consiste à appliquer une transformation non linéaire de l’espace d’entrée X en un espace de redescription . En effet, plus la dimension de l’espace de description est grande, plus la probabilité de pouvoir trouver un hyperplan séparateur entre les deux classes est élevée. En transformant l’espace d’origine en un espace de redescription de grande dimension, on pourra à nouveau appliquer la méthode des SVM.

Figure 3: Passage d'un espace de description de dimension 2 à un espace de redescription de dimension 3 permettant une séparation linéaire.

Page 11: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Le problème d’optimisation conduit au résultat analogue suivant pour l’équation de l’hyperplan :

Il y a cependant deux inconvénients majeurs dans le passage à des dimensions très grandes :

• Le premier est d’ordre pratique. En effet, le calcul de ces produits scalaires devient rapidement impossible dans des espaces à très grande dimension, ceci d’autant plus que l’on utilise une transformation non linéaire.

• Le second est que le passage dans des grandes dimensions rend l’espace d’hypothèses trop riche. On peut aboutir à un lissage trop important des données. Cet aspect ne sera pas étudié dans ce document, mais on pourra consulter [4] qui traite du problème.

Les fonctions noyau Le premier inconvénient est heureusement contourné grâce à l’utilisation de fonctions noyau. Ces fonctions, plus faciles à calculer, et dont on montre qu’elles correspondent à un produit scalaire dans un espace de dimension supérieure (Théorème de Mercer voir [1] et [4]), permettent de trouver l’hyperplan optimal sans même avoir à chercher de façon explicite la fonction de transformation . Ce « court-circuitage » constitue une autre particularité intéressante des méthodes de séparateurs à vastes marges. L’hyperplan séparateur à ainsi pour équation :

Où K est la fonction noyau. Il n’est cependant pas facile de trouver de façon implicite, la fonction noyau qui permet la meilleure séparation des données. En pratique, on effectue des tests avec des fonctions noyau connues puis on règle ensuite les paramètres correspondants. Les fonctions noyau les plus connues sont : Le noyau polynomial, à base radiale et sigmoïdale. De plus, il est possible de construire ses propres fonctions noyau en effectuant certaines combinaisons entre des fonctions noyau connues. Toutes les équations de l’hyperplan optimal trouvées ci-dessus ne font apparaitre les données que dans les produits scalaires. De plus, remarquons que lors de la résolution de la forme duale, seuls les vecteurs de support ont des multiplicateurs de Lagrange différents de zéro. Ceci a une justification intuitive car pour classer un nouvel élément, l’algorithme SVM se contente de calculer la similitude du nouvel élément avec les vecteurs de support, éléments définissant la frontière entre les deux classes. Cette similitude est calculée grâce au produit scalaire (rappelons qu’un produit scalaire entre deux vecteurs d’un espace vectoriel consiste, sous de bonnes contraintes

Page 12: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

de normalisation de ces vecteurs, au calcul du cosinus de l’angle entre ces deux vecteurs ; ce cosinus tend vers 1 si ces deux vecteurs sont très proches, et vers 0 si ils sont perpendiculaires), et le classement du nouvel élément est fait en conséquence.

Page 13: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Régression logistique La méthode de régression logistique peut être vue comme une généralisation de la méthode de régression linéaire simple. La différence réside cependant dans le fait que l’on souhaite analyser une variable dépendante qualitative, souvent binaire, en fonction d’une ou plusieurs variables explicatives quantitatives. Dans ce document, nous étudierons essentiellement le cas où la variable à expliquer, notée Y, est binaire. Une observation de la variable à expliquer peut donc être vue comme un succès ou un échec, que l’on représente par si il ya succès et si il y a échec. Cette variable peut donc être modélisée comme suivant une loi de Bernoulli de paramètre p. Lorsque la variable dépendante peut prendre un nombre de valeurs dénombrable et supérieur à deux, on peut la modéliser par une distribution multinomiale.

Modélisation d’une variable dépendante binaire Cas pratique : Afin d’illustrer les différences fondamentales entre une variable dépendante qualitative et une variable dépendante quantitative, observons un cas pratique. Nous considérons d’abord le cas d’une seule variable explicative quantitative. Cet exemple concerne un échantillon de 100 personnes pour lesquels la présence ou l’absence d’une maladie a été observée. On souhaite étudier la relation entre cette variable et l’âge des personnes. La figure 5 (sur laquelle la variable Y est notée CHD – maladie cardiovasculaire) montre que lorsque la variable dépendante est qualitative, elle n’admet pas d’échelle de mesure naturelle. En effet, ce diagramme ne nous permet pas de prédire selon l’âge si une personne à ou non la maladie.

Figure 4: Relation inexploitable entre l'âge et la maladie.

Page 14: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Nous pouvons cependant décrire la relation entre la probabilité d’avoir la maladie et l’âge. Il s’agit de la représentation de la probabilité conditionnelle . Pour ce faire, on regroupe les données selon l’âge en catégories, puis on calcule le pourcentage cumulé de personnes atteintes par la maladie dans chaque catégorie. On obtient le diagramme de la figure 5.

Figure 5: Pourcentage de personnes ayant la maladie selon l'âge.

Il s’agit d’une fonction de répartition. Il faut maintenant formaliser la relation entre la variable explicative AGE et CHD (que nous noterons respectivement X et Y). Nous désirons modéliser par une fonction des variables explicatives

. Puisqu’il s’agit d’une fonction de probabilité, cette fonction doit être bornée par 0 et 1. On ne peut donc pas modéliser cette probabilité conditionnelle par une fonction linéaire. Cette relation est donc non linéaire. La figure 5 nous suggère une courbe sigmoïdale pour représenter cette fonction.

Pour la méthode de régression logistique, nous utiliserons le modèle : . Il s’agit d’un modèle linéaire généralisé (Generalized Linear Model – GLM), qui s’écrit encore , et par lequel, on souhaite prédire la probabilité conditionnelle de Y sachant X. La fonction utilisée est la fonction de répartition de la distribution logistique, qui s’écrit :

Page 15: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Et

Ce modèle peut facilement être étendu l’analyse d’une variable Y par un vecteur aléatoire . La relation s’écrit :

Ou plus souvent :

Où . C’est donc ce modèle que l’on appelle modèle logit ou logistique. En pratique, les composantes du vecteur sont déterminées par des méthodes numériques (surtout si les données sont représentées dans un espace de grande dimension) à partir des données par la méthode du maximum de vraisemblance (voir conditions) qui donne en général un estimateur à faible variance suivant une loi normale. Il est à noter que le poids d’une composante influe directement sur l’importance de l’attribut dans la régression. Ainsi, une valeur de proche de zéro implique que l’attribut n’est pas utile pour la régression. Pour bien régler les valeurs des , ces estimations sont souvent associées à des tests d’hypothèses du type :

Avec Ces tests sont très importants en pratique et servent à éliminer certains attributs qui ne sont pas utiles pour expliquer la probabilité conditionnelle de succès de Y, sachant les autres attributs de X, ce qui simplifie les calculs.

Page 16: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Prétraitement des données

Importance du prétraitement Lorsqu’on travaille sur un grand nombre de données, leur prétraitement est essentiel, les calculs inutiles pouvant augmenter exponentiellement le temps d’exécution de l’algorithme ; les « petites » erreurs de biais se répercutant démesurément sur le modèle final. La connaissance de l’algorithme permet une réflexion théorique avancée sur le formatage des données ; de même un peu de sens pratique peut se révéler très utile.

Méthodologie Tout d’abord, il faut analyser les données avec bon sens. Il s’agit d’éliminer la redondance d’informations au sein des données mêmes. Dans un exemple étudié, un attribut décrit le nombre d’année d’étude des clients ; un autre attribut décrit de manière qualitative le titre du dernier diplôme obtenu. Ces deux attributs correspondent exactement, sont en bijection ; l’un des deux doit être éliminé pour éviter la redondance qui pondérerait la même information d’un poids injustement doublé. De même, toujours dans ce même exemple, les clients sont décrits selon leur genre ; or, au sein d’un autre attribut, le statut de personne mariée est divisée en deux valeurs : « mari » et « femme ». Cette distinction implique une redondance qui peut être éliminé en remplaçant ces deux valeurs par la même valeur « marié ». Une fois les données nettoyées de leurs redondances, de tous leurs défauts corrigibles avec un peu de sens pratique, on s’attache à la théorie pour réfléchir à l’adéquation du formatage des données avec l’algorithme. On utilise ici l’algorithme SVM (Support Vector Machine), qui partage à l’aide d’un hyperplan les données projetées dans un espace où chaque attribut est une coordonnée. Comment gérer dans ce cas les coordonnées manquantes ? Leur choisir une valeur arbitraire serait rajouter de l’information et fausserait le modèle ; il vaut donc mieux les éliminer systématiquement. Une fois ces « nettoyages » des données réalisés, il faut approfondir la réflexion.

Traitement des données qualitatives

Problème L’algorithme utilisé, des séparateurs à vastes marges (SVM, de l’anglais Support Vector Machine), nécessite exclusivement des données numériques. Les données qualitatives doivent donc être transformées, mais sous quelles formes ? Plusieurs solutions sont envisageables, mais il faut veiller à respecter le principe de l’algorithme, qui est de séparer les points de données entre eux.

Page 17: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Il faut également préserver l’information. Une conversion directe utilisant la convention d’un nombre par valeur qualitative possible ne satisfait pas cette contrainte ; en effet la conversion « rajoute » de l’information aux données, arbitrairement et sans justification. Notamment, les nombres peuvent être ordonnés ; et il existe une distance entre eux. Ces deux informations seront prises en compte par l’algorithme, alors qu’elle ne corresponde pas à de la véritable information, mais à des choix arbitraires ; biaisant ainsi le résultat final.

Solution mise en œuvre La conversion choisie consiste à « éclater » chaque dimension qualitative en n dimensions, n étant le nombre des valeurs possibles qu’elle peut prendre. Chaque dimension correspond donc à une de ses valeurs. Pour une donnée particulière, la dimension correspondant à la valeur prise par cette donnée contiendra la valeur numérique un, et toutes les autres contiendront le chiffre zéro.

Traitement des données quantitatives

Problème Lors de la projection dans un espace à d dimensions, d étant le nombre d’attributs des données, les données numériques deviennent des coordonnées dans l’espace. Ces valeurs peuvent ne pas être à la même échelle, mais disproportionnées ; tant au niveau de leur ordre de grandeur en lui-même, qu’au niveau de l’ordre de grandeur des écarts entre les différentes valeurs. Ce problème complexifie lourdement le calcul, pour des résultats imprécis. Il implique une pondération liée aux différences d’ordre de grandeur, favorisant les données les plus grandes et les plus dispersées ; cette préférence ne correspond pas à une importance moindre des données les plus « petites », ou les plus « groupées ». Une normalisation s’impose alors afin de contourner ce problème en ramenant toutes les données numériques à une même échelle.

Solution mise en œuvre La normalisation choisie consiste à, dans un premier temps, calculer la variance d’un attribut sur les données d’apprentissage ; puis dans un deuxième temps de diviser chaque attribut par la variance trouvée. Une fois la « fonction » de transformation des attributs numériques calculée, à partir des données d’apprentissage, cette fonction est sauvegardée afin de l’appliquer à une nouvelle donnée dont on voudrait prévoir la classe.

Justifications théoriques

Page 18: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Lorsqu'un nouvel exemple est soumis au modèle calculé à partir des données d'apprentissage, celui ci est d'abord normalisé: les valeurs de chacun de ses attribut soumis à la même normalisation. Cette méthode est valide formellement si l'on vérifie que l'ensemble d'apprentissage est représentatif de la population étudiée, c'est à dire qu'on a la même proportion de chaque classe. On considèrera donc que la variance et la moyenne calculées pour effectuer la normalisation sont des estimateurs sans biais de variances minimales de ces paramètres, ont peut ainsi les utiliser pour normaliser d'autres exemples.

Page 19: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Mise en application

Arbres de décision La première méthode de classification de données étudiée est celle des arbres de décision. L’avantage de cette méthode est qu'elle n'impose pas de prétraitement des données. Plusieurs algorithmes étaient à notre disposition pour générer des arbres de décisions dont ceux que nous avons choisi :

• l'algorithme C4.5 (lui-même amélioration de l'algorithme ID3 qui n'effectue aucun élagage de l'arbre) dont une implémentation nous était fournie.

• l'algorithme CART (Classification And Regression Trees) que l'on pouvait tester sous R.

Algorithme C4.5 Nous allons maintenant appliquer l’algorithme C4.5 pour construire un arbre de décision à partir d’un grand nombre de données, environ 30 000 exemples. Nous allons utiliser un programme informatique, nommé C4.5, qui dispose de différentes options. Nous allons essayer chacune d’entre elles, afin de déterminer quelles sont les plus pertinentes à utiliser dans cet exemple et pourquoi. Observons tout d’abord le résultat de l’algorithme sans utiliser d’options. L’arbre construit est très complexe : c’est parfaitement normal sur un jeu de 32 561 exemples, chacun caractérisé par 14 attributs. L’arbre est composé de 7 808 nœuds avant élagage, et 653 après l’élagage. Un grand nombre de nœuds est donc éliminé, de l’ordre de 11 nœuds éliminés sur 12. Le pourcentage d’exemples mal classés n’augmente pourtant que de 3% ; il était de 9% avant l’élagage, et de 12,2% après. L’algorithme C4.5 autorise plusieurs branches pour chaque nœud ; lorsque le nœud correspond au test sur un type énuméré, toutes les valeurs possibles de la réponse vont correspondre à une branche. Dans le cas de grand nombre de données, parfois il n’est pas pertinent de considérer toutes les valeurs ; dans ce cas il faut en regrouper certaines en sous-ensembles, ce qui simplifie considérablement la complexité de l’arbre. On peut obliger le programme à regrouper en sous-ensembles grâce à une option : -s. L’arbre est bien sûr beaucoup moins complexe avant élagage, avec seulement 5 083 nœuds. Par contre, après élagage, il reste 822 nœuds, contre seulement 653 sans regroupement en sous-ensembles ! On obtient donc un arbre plus complexe, mais contenant également moins d’erreurs, avec seulement 10,7% d’erreurs après élagage. Pour les attributs dont le type est continu, ils peuvent être considérés comme des attributs de type énuméré : en effet, leurs valeurs sont limités aux valeurs prises par les exemples. Cependant, ces valeurs appartiennent à un ensemble ordonné ; on peut donc, au lieu de faire des sous-ensembles, déterminer un seuil, et tester si la

Page 20: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

valeur est supérieure ou inférieure à ce seuil. Ceci est réalisé de façon automatique par l’algorithme, ou peut être forcé par l’option –p. Il est important de pouvoir tester l’arbre que l’on construit. C’est pourquoi il est conseillé de séparer les données en deux parties, une partie servant à construire l’arbre et l’autre à le tester. On obtient ainsi des mesures de probabilité d’erreurs plus précises, et plus sûres. Séparons les données dont nous disposons en deux parties, arbitrairement : un jeu d’exemples d’apprentissage, et jeu de 10 001 tests. L’arbre obtenu est sensiblement différent en terme de complexité, ce qui paraît normal ; par contre, il est équivalent en terme de proportion du nombre d’erreurs sur le nombre total. Le jeu de test nous permet alors de s’apercevoir que l’estimation globale de la probabilité de commettre une erreur, à savoir : 0,143 est plutôt bonne ; en effet, la probabilité déduite des tests est de 0,138, sur l’arbre élagué. Si on groupe en sous-ensembles les types énumérés, on obtient des estimations de probabilité plus faible : la probabilité de mal classer une donnée est estimé à 0,131 ; alors qu’elle est de 0,137 lorsqu’on la déduit des tests, c'est-à-dire la même valeur que celle précédemment trouvée. Sur les deux résultats, on peut constater que les erreurs se situent principalement dans la classification d’une des deux classes, où 896 données sont mal classés pour 1565 bien classés, dans le cas regroupé ; et sensiblement les mêmes valeurs dans l’autre cas ; alors que seulement 473 données sont mal classés sur 7 067 bien classés dans l’autre classe. La probabilité d’erreur dépend donc très fortement de la classe trouvée par l’algorithme : Sans -s Avec –s Probabilité d’erreur lorsque l’algorithme classe >50K 0,239 0,232 Probabilité d’erreur lorsque l’algorithme classe <=50K 0,11 0,112 Évaluation de l'arbre sur les données d'apprentissage (22560 individus) qui ont permis de construire l'arbre :

Avant élagage Après élagage

Taille de l'arbre 3804 612

Erreurs 1779 (7.9%) 2441 (13.1%)

Évaluation de l'arbre sur les données de test (10001 individus):

Avant élagage Après élagage

Taille de l'arbre 3804 612

Erreurs 1571 (15.7%) 1369 (13.7%)

Page 21: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Algorithme CART Rappelons les spécificités de l’algorithme CART (Classification And Regression Tree) : - Il génère 2 nœuds fils par nœud parent. - Il accepte tout type de variables.

- La mesure servant à sélectionner le meilleur attribut à tester est ici la métrique de Gini :

où a est : un attribut binaire oméga est : une classe L'avantage de l'implémentation sous R de cet algorithme était la possibilité de pouvoir afficher un aperçu de l'arbre généré, ce qui en permet une lecture plus aisée. Voici l'arbre que l'on a obtenu (complété en rouge par la pureté de chacun des noeuds de l'arbre) : pureté d'un noeud : proportion d'individus appartenant à la classe majoritaire au sein d'un même noeud. taux d'erreur = 1 – pureté de noeud (feuille de l'arbre) On peut remarquer que globalement, plus l'on s'approche des feuilles, plus la pureté des noeuds augmente. Certaines feuilles dépassent même les 95%.

Page 22: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Mais il est plus probant d'observer les résultats (pourcentages d'erreur) sur les données d'apprentissage et de test (adult-test). Voici ce que l'on obtient :

Données d'apprentissage (réel) >50K (réel) <=50K précisions

(prédiction) >50K a=4025 b=1247 a/(a+b)=79.35%

(prédiction) <=50K c=3816 d=23473 d/(c+d)=86.01%

rappels a/(a+c)=51.33% d/(b+d)=94.95% (a+d)/(a+b+c+d)=84.45%

Données de test (réel) >50K (réel) <=50K précisions

(prédiction) >50K a=1945 b=630 a/(a+b)=75.53%

(prédiction) <=50K c=1901 d=11805 d/(c+d)=86.13%

rappels a/(a+c)=50.57% d/(b+d)=94.93% (a+d)/(a+b+c+d)=84.45%

précision : probabilité que le modèle ne se trompe pas sachant la réponse qu'il renvoie. (ex : ici, si le modèle prédit qu'un individu est de la classe « >50K », on pourra en être sur à 79.35%) rappel : probabilité que le modèle ne se trompe pas sachant la classe réelle de l'individu qu'il tente de classifier. (ex : ici, on peut voir que le modèle sait classifier beaucoup mieux les individus qui sont réellement de la classe « <=50K » (rappel de 94.95%) que ceux qui sont réellement de la classe « >50K » (rappel de 51.33%)) On peut remarquer que les précisions (globales ou propres à une classe) ainsi que les rappels sont sensiblement identiques pour les données d'apprentissage et pour les données de test, ce qui laisse à penser que le modèle obtenu était de qualité dans le sens où il n'y avait ni « sur-apprentissage » (i.e. que le modèle collait trop aux données d'apprentissage mais inadapté à de nouvelles données) ni « sous-apprentissage » (le modèle donne des résultats aléatoirement différents sur différents jeux de données).

Conclusions sur les arbres de décision :

Page 23: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Au vu des résultats obtenus sur nos jeux de données, l'algorithme C4.5 (83.7% de précision) semble meilleur que l'algorithme CART (84.45% de précision).

Page 24: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Séparateurs à Vastes Marges (SVM)

Introduction, choix du noyau

Méthodologie Les données initiales adult ont été découpées selon un partage 2/3 (pour l’apprentissage) – 1/3 (pour la validation) tandis que les données adult-test ont été réservées aux tests.

La méthode employée pour établir une classification optimale : • On construit plusieurs modèles (différents noyaux, différents paramètres

pour chaque noyau) à l’aide des données d’apprentissage. • On sélectionne parmi ces différents modèles celui qui donne le meilleur

résultat sur les données de validation. • On effectue une prédiction à l’aide de ce modèle sur les données de tests.

Choix du noyau Après un premier survol des différents noyaux utilisés par SVMLight et R dont on rappelle la liste :

• Noyau gaussien • Noyau linéaire • Noyau polynomial • Noyau sigmoïdale

, il est apparu que sur le jeu de données qui nous étaient fournis (données d’une banque adult et adult-test) le noyau gaussien était le plus adapté. Par exemple, si l’on se base sur les options par défaut (i.e. sans spécifier les valeurs de gamma, ou autres paramètres de noyau …) de la fonction svm du paquetage ‘e1071’ de R, les résultats obtenus étaient :

Type de noyau Précision

(données d’apprentissage)

Précision (données de validation)

Précision (données de test)

Gaussien 84.04% 82.93% 83.20% Linéaire 76.32% 75.70% 76.30% Polynomial (degré 3)

83.91% 81.84% 82.08%

Polynomial (degré 5)

80.15% 77.45% 77.83%

Sigmoïde 53.92% 53.70% 54.17%

Une première étape de la validation a donc consisté à se limiter au noyau gaussien. Le reste de la validation était donc réduit à la recherche du paramètre gamma optimal, quoique SVMLight permettait également de moduler les paramètres c (constantes majorant les variables ressort) et j (paramètre permettant de pondérer une des deux classes (ici la classe correspondant à -1) d’autant qu’elle est sous-représentée dans le jeu de données).

Page 25: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Le noyau qui s'est avéré être le meilleur sur nos jeux de données (adult et adult-test) dès le début est le noyau gaussien. Cela est très certainement dû au fait que de nombreux phénomènes mis en jeu dans ces données font apparaître des phénomènes suivant des lois normales (âge, niveau d'études, revenus, etc ...).

Noyau gaussien :

K_u,v_=e____u_v_2

Résultats donnés par SVMLight Voici les graphiques que les utilitaires svm_learn et svm_classify ont permis d’établir :

c=1000 & j=3

0

10

20

30

40

50

60

70

80

0,05 0,1 0,15 10 10

Le paramètre C est le même que celui introduit lors de l’étude des variables ressort. Sa valeur augmente si l’on possède un ensemble d’apprentissage quasiment séparable linéairement. Cette valeur à été fixée à 1000, pour amplifier le poids des variables ressort. Le paramètre j quant à lui permet d’équilibrer en proportion, la quantité d’exemples dans les deux classes. Cette valeur est mise à 3 car il y a trois fois plus de variables négatives dans l’échantillon d’apprentissage.

Page 26: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Ces deux graphiques montrent déjà une première tendance sur l’influence de gamma. En faisant varier gamma, qui correspond à l’inverse de la variance dans le noyau gaussien, nous constatons qu’une valeur de gamma inférieure à 1 semble donner les meilleurs résultats tandis qu’au-delà, la précision semble décroître sensiblement.

Résultats donnés par R

variation de gamma

0,77

0,78

0,79

0,8

0,81

0,83

0,86

0 0,01 0,02 0,04 0,06 0,08 0,1 0,2 1 2 5 10 100 1000

Page 27: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Influence de gamme (noyau gaussien)

0

0,2

0,4

0,6

0,8

1

1,2

0,005 0,011 0,02 0,04 0,1 0,2 0,5 1 10 20 50 100

gamma

pré

cis

ion Données d'apprentissage

Données de validation

Données de test

On peut remarquer que :

• Plus on augmente le paramètre gamma, plus la classification des données initiales s’améliore, le modèle « collant » à ces données d’apprentissage.

• Mais cela ne signifie pas pour autant que le modèle est d’autant meilleur que gamma est grand.

• En effet, le modèle, « collant » trop aux données d’apprentissage devient biaisé dès lors que l’on lui applique d’autres données (validation ou test)

Si l’on devait choisir un modèle de classification pour un client souhaitant analyser de futures données, on retiendrait le modèle optimal pour les données de validation. Il correspond ici à une valeur de gamma = 0,04.

Classification polytomique des données d'astrophysique par SVM (text mining) :

Après de nombreux pré-traitements, voici les résultats que nous avons obtenus avec SVMLight grâce à un calcul de 7 modèles (1 modèle par prédiction de classe), sur la classification des thèmes d'articles selon les mots qui les composent :

Classes Vie extra-terrestre

Eclipses Planètes extrasolaires

Analyse Numérique

Mécanique quantique

Physique mathématiq

ue

Rhéologie

Précisions de la

classification

86.30% 94.52% 98.63% 98.63% 60.27% 75.34% 94.52%

Page 28: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

On peut remarquer que plusieurs classes ont des précisions au delà de la valeur que l'on pouvait avoir concernant de simples prédictions (2 classes) qui n'était que de 85%.

Page 29: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Régression logistique Voici les résultats que la classification des données adult par régression logistique nous a donnés :

Données de test (réel) >50K (réel) <=50K précisions

(prédiction) >50K a=6805 b=95 a/(a+b)=98.62%

(prédiction) <=50K c=1550 d=808 d/(c+d)=34.26%

rappels a/(a+c)=81.44% d/(b+d)=89.48% (a+d)/(a+b+c+d)=82.23%

Ces résultats montrent que cette méthode est la moins précise des trois (arbres de décision, SVMs, régression logistique).

Page 30: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Des idées pour aller plus loin Afin d’améliorer les performances, une idée serait de combiner certaines méthodes entre elles. Par exemple, pour des données de faible dimension (un nombre réduit d’attributs), la méthode des arbres de décision permet d’avoir de très bons résultats. De plus cette méthode, contrairement à la régression linéaire et aux SVM, fourni une « explication » claire de la répartition des exemples. Elle permet, en effet, d’exhiber les attributs les plus discriminants, et, par là de comprendre les causes de la répartition. Cette méthode devient cependant moins performante lorsque l’on analyse des données de grande dimension (cas du text mining avec des dimensions de l’ordre du cardinal du vocabulaire utilisé). D’un autre coté, la méthode du SVM permet de traiter des exemples de très grande dimension. Le principal problème consiste souvent à pondérer convenablement les attributs des éléments, ou a complètement en supprimer certains qui sont insignifiants dans le but d’alléger les calculs. Une technique pourrait consister à combiner ces deux méthodes en construisant d’abord un arbre de décision jusqu’à une certaine profondeur afin d’obtenir les attributs ou axes les plus discriminants, puis à effectuer une SVM uniquement sur ces attributs. On peut aussi préalablement traiter les données avec des méthodes d’analyse statistique multidimensionnelle telles que les ACP pour dégager les axes principaux de l’analyse.

Page 31: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Conclusion Ce projet nous a amené à expérimenter la fouille de données dans tous ses aspects, à la fois divers et complémentaires. Nous avons ainsi pu dérouler plusieurs cycles de traitement, allant de la lecture pure et simple des données afin de se les approprier, jusqu’à la production de grandeurs statistiques pour estimer les modèles construits, en passant par le prétraitement des données et le réglage des paramètres de construction du modèle. D’un autre côté, l’exploration théorique des techniques déployées nous a conduit à travers des notions extrêmement différentes, de la théorie de l’information jusqu’aux fonctions logistiques, en passant par des espaces à très grandes dimensions. Le lien entre la mise en pratique et la théorie était très fort ; et les questions de l’unes trouvant souvent une réponse dans l’autre. Nous avons ainsi pu découvrir un travail pratique et efficace, nécessitant complémentairement du sens pratique et une profonde compréhension abstraite. A la fois processus industriel et secteur de recherche, le data mining dans son ensemble nous est apparu comme un domaine extrêmement vivant, répondant à une forte attente, maximisant les ressources disponibles, tout en combinant des technologies de pointe.

Page 32: Classification dans des bases de données par des ...cernierg.free.fr/CV/projets/rapportDataMining.pdf · L’élagage d’un arbre de décision consiste à chercher une valeur optimale

Références [1] A. Cornuejols et L. Miclet. Apprentissage Artificiel : Concepts et Algorithmes. Eyrolles, 2002. [2] T. Mitchell, Machine Learning, McGraw Hill, 1997. [3] B. Schölkopf. Statistical Learning And Kernel Methods. MSR-TR 2000-23, Microsoft Research, 2000. [4] V. Vapnik. The Nature Of Statistical Learning Theory. Springer, N.Y., 1995.