Propriétés des ensembles fréquents 1 Propriétés des ensembles fréquents Exemple: Extracion des itemsets fréquents Min_sup=2/9 (min_freq=2) 2 Généraion des candidats Exemple: Supposons que la table Transacion(Tid, Item). On a : 107 transacions et l’on a 105 items diférents. En moyenne chaque transacion concerne 10 items. 10 Pour chaque transacion on a paires à regarder ainsi la jointure a 45*10 7 2 tuples Remarque: si {item_1} n’est pas fréquent alors certainement la paire {item_1, item_i} ne l’est pas. Considérons la requête si seuil = 0,01 Pour qu’un item soit fréquent il faut qu’il apparaisse 0,01 * 10 7 =105 fois. C 45 3 Généraion des candidats Constat : généraion d ’un trop grand nombre de candidats s ’il y a 10^4 (1-itemset) => généraion de 10^7 candidats 2-itemsets Pour un fréquent de 100, il faut générer plus de 10^30 candidats au total Est-il possible de proposer une méthode qui évite de générer des candidats ? 4 Problèmes d’Apriori • • 5 Le principe de l’algorithme: – Uiliser les (k – 1)-itemsets fréquents pour générer les k-itemsets candidats – Scanner la base pour tester le support des candidats Là où l’algo pèche : généraion des candidats – Beaucoup: • 104 1-itemsets fréquents générant 107 2-itemsets candidats • Pour trouver les 100-itemsets on doit générer 2100 1030 candidats. – Plusieurs scans de la base: Problèmes d’Apriori Principe de base • Apriori utlise l’approche : ≪ générer et tester ≫ : générer les ensembles; et puis tester leurs fréquences ▫ la généraion des ensembles candidats est couteuse (en espace et en temps) ▫ le calcul de fréquence est couteux -le test d’appartenance d’un ensemble candidat a une transacion est couteux nécessite plusieurs E/S disques 6 FP-tree Exemple: 7 Phase 2: Règles fortes 8 Règles fortes Concept de base Règles fortes Recherche des règles pour les itemsets fréquent les itemsets de card= 2: Il faut tester toutes les combinaisons : 2 tests par itemset {P1,P2} : P1->p2 : conf. = 2/4 = 50% (refusé) P2->p1 : conf. = 2/3 = 67% (refusé) {P1, P3} P1->P3 : conf. = 4/4 = 100% (accepté) P3->P1 : conf. = 4/5 = 80% (accepté) {P2,P3} P2->P3 : conf. = 3/3 = 100% (accepté) P3->P2 : conf. = 3/5 = 60% (refusé) Rq: Règles avec conséquent de card = 1 10 Règles fortes Recherche des règles pour les itemsets de card= 3 et plus… Règles avec antécédent de card = 2 11 Règles fortes Exemple: 12 Règles fortes Complexité temporelle Théorème 1: Transférer les éléments d’un ensemble fréquent de l’antécédent d’une règle au conséquent ne peut pas augmenter son degré de coniance. Démonstraion: Règles fortes Ainsi, on peut dégager à parir du théorème 1 les résultats suivants Théorème 2 Tout sur-ensemble (superset) du ‘conséquent’ d’une règle non-conidente est aussi no conident Tout sous-ensemble du ‘conséquent’ d’une règle conidente est aussi conident Exemple: ? Propriété 1 : pas de composiion des règles Si X → Z et Y → Z sont vrais dans D, X U Y → Z n’est pas nécessairement vrai. Propriété 2 : décomposiion des règles Si X U Y → Z convient, X → Z et Y → Z peut ne pas être vrai. Propriété 3 : pas de transiivité Si X → Y et Y → Z , nous ne pouvons pas en déduire que X → Z. Règles fortes Amélioraions cherchées Éliminaion des règles redondantes • R1: A ⇒ BC R2: AB ⇒ C R2 redondante par rapport à R1 – pour un k-ensemble fréquent, présenter les règles de condiion minimale • R1: A ⇒ BCD R2: AB ⇒ C R2 redondante par rapport à R1 – chercher les règles issues du plus grand k-ensemble fréquent; si on trouve une règle ayant une condiion minimale, on évite de chercher les règles dont la prémisse conient cete condiion minimale. 15 Règles fortes Mesures d’évaluaion des règles Support et coniance: En termes probabilistes: R : p1->p2 Sup ( R ) = prob(p1p2) Conf( R )= prob(p1/p2)=2/4 Problème: Une règle peut avoir d’excellents supports et coniance sans être pour autant «intéressante» Soluion: une mesure d’intérêt Qui caractérise une forme de causalité c.-à-d. l’idée «la connaissance de l’antécédent amène de l’informaion (supplémentaire) sur la connaissance du conséquent» Indice de perinence des règles: la métrique Lit(R: A-> B)=P(B/A)/P(B) = conf (R )/sup (B) Surcroît d’occurrence du B quand A est présent RQ: Le LIFT ne peut être calculé qu’après coup pour iltrer les règles. 16 Règles fortes Mesures d’évaluaion des règles Leverage=sup(AB)/|D| - sup(A)/|D| * sup(B)/|D| Convicion =sup(A) *(|D| -sup(B))/|D| *(sup(A)-sup(AB)) 17 Généraion des ISF et règles d’associaion dans les logiciels Etudes de cas: 1)SIPINA 2)TANAGRA 3)Logiciel R 18 Fouilles des données Chapitre4: Apprenissage automaique Introducion: Apprenissage automaique (Machine Learning) Déiniion1: Etude et concepion de systèmes (méthodes exécutées par une machine) qui sont capables d'apprendre à parir de données. Exemple: un système qui disinguent les courriels spam et non-spam. Déiniion 2: Capacité d'un système à foncionner correctement sur de nouvelles tâches inconnues après avoir appris sur un ensemble d'apprenissage. Types d'apprenissage Apprenissage supervisée : Apprenissage sur un ensemble d'exemples éiquetés : (entrée, sorie désirée) Apprenissage non supervise : Apprenissage sur un ensemble d'exemples non éiquetés (cf. clustering) Liste d'algorithmes d'apprenissage automaique Arbre de décision Réseau de neurones ariiciels Support vector machine Clustering (classiicaion) Réseaux bayésiens Logiciels et bibliothèques Apprenissage automaique : les arbres de décision Le principe des arbres de décision • L’arbre de décision c’est une méthode très populaire en datamining parce qu’elle est assez intuiive et donne des résultats faciles à implémenter. • Dans le cas du classement, l’algorithme permet d’afecter chaque individu à une catégorie à l’aide de règles de décision. D’un point de vue méier c’est idéal puisque les règles sont clairement ideniiées et il n’y a pas d’efet boîte noire • Les résultats peuvent être représentés visuellement, justement sous forme d’arbre • Pour certains domaines d'applicaion, il est esseniel de produire des procédures de classiicaion compréhensibles par l'uilisateur. C'est en pariculier le cas pour l'aide au diagnosic médical où le médecin doit pouvoir interpréter les raisons du diagnosic. • Les arbres de décision répondent à cete contrainte car ils représentent graphiquement un ensemble de règles et sont aisément interprétables. • Pour les arbres de grande taille, la procédure globale peut être diicile à appréhender, cependant, la classiicaion d'un élément pariculier est toujours compréhensible. • Les algorithmes d'apprenissage par arbres de décision sont eicaces, disponibles dans la plupart des environnements de fouille de données. Le principe des arbres de décision • Ensemble de règles de classiicaion basant leur décision sur des tests associés aux atributs, organisés de manière arborescente. •L'arbre débute par la racine qui se divise en banches • Les branches conduisent à des nœuds qui peuvent à leur tour se diviser en branches. •Les nœuds de l'arbre testent les atributs. Un nœud est déini par le choix conjoint d'une variable test parmi les explicaives et d'une division qui induit une pariion en deux classes. •Il y a une branche pour chaque valeur de l'atribut testé, •Les feuilles spéciient les catégories et coniennent les décisions de classement inal Avantage des arbres de décision 1. Facile à comprendre et à uiliser. 2. Nombre de tests limités par le nombre d’atributs (de quesion). 3. Construcion eicace (mais technique) à l’aide d’apprenissage par opimisaion (pour obtenir un arbre peit et « correct »). Construcion d’arbres de décision Les principaux buts de la construcion des arbres de décision sont : 1. une meilleure généralisaion des exemples de la base d’apprenissage 2. une meilleure classiicaion de nouveaux exemples. Moivaion: •Pour certains domaines d’applicaion, il est esseniel de produire des classiicaions compréhensible pour l’uilisateur •Dans les méthodes classiques (hiérarchique, k-means, PAM), l’informaion est perdus dans les classes Exemple introducif: Décider si un paient est malade ou bien portant selon sa température et s’il à la gorge irritée Arbre de décision: - 2 classes (malade, bien portant) toute descripion complète est associée une - 2 variables (température, gorge irritée) seule feuille de l'arbre de décision. Cete associaion est déinie en commençant à la racine de l'arbre et en descendant dans l'arbre selon les réponses aux tests qui éiquetent les nœuds internes. Généralités Arbre de décision: • Algorithme de classiicaion supervisée •Permet de classer un ensemble d’individus (observaions) décrits par des variables qualiicaives et quanitaives • Produit des classes les plus homogènes possibles Un peu de vocabulaire Données et notaion Algorithme d’apprenissage Entrées: -n individus -p variables -Une variable supplémentaire contenant la basse de chaque individu (c classes) Sorie: N(p)= nbre d’individus associés à la posiion (nœud)p N(k/p)= nbre d’individus appartenant à la classe k en sachant qu’ils sont associés à la posiion p P(k/p) =N(k/p) /N(p)= proporion des individus appartenant à la classe K parmi ceux de la posiion p Remarque: Un nœud est pur si tous les individus associés appariennent à la mm classe! Construcion de l’arbre: exemple Construire un arbre de décision qui classe et détermine les caractérisiques des clients qui consultent leurs comptes sur internet - L'atribut M décrit la moyenne des montants sur le compte client. - L'atribut A donne la tranche d'âge du client. - L'atribut R décrit la localité de résidence du client. - L'atribut binaire E a la valeur oui si le client a un niveau d'études supérieures. - I (variable explicaive) dit si oui ou non le client a consulté son compte bancaire par internet PRINCIPE ALGORITHMIQUE DES ARBRES DE DÉCISIONS Procédure: construire-arbre(X) SI tous les individus I appariennent à la même modalité de la variable décisionnelle ALORS créer un nœud feuille portant le nom de cete classe : Décision SINON choisir le meilleur atribut pour créer un nœud // l’atribut qui sépare le mieux Le test associé à ce nœud sépare X en des branches : Xd………Xg - construire-arbre(Xd) … … … - construire-arbre(Xg) FIN Construcion de l’arbre: exemple BUT : On souhaite trouver un arbre de décision qui soit capable de dire si un client efectue des consultaions de ses comptes par Internet en connaissant les valeurs des atributs M (montant), A (âge), R (résidence) et E (études) pour ce client. À parir de ce tableau, il s'agit donc de construire un arbre de décision qui classier les clients. - La construcion est descendante - Au début tous les individus sont regroupés - Est-ce que les neoud iniial (3,5) c’est un nœud terminal ou est-ce qu’on peut construire un test sur une variable qui permetra de mieux discriminer les individus? - Quatre construcions possible, suivant les variables Montant(M), Age(A), Résidence(R), Etudes(E) Quesion : quel atribut choisir en premier ? En second ? ... Construcion de l’arbre: exemple Construcion de l'arbre Il est toujours possible de trouver un arbre de décision minimisant le risque empirique (= erreur sur l‘ échanillon) sur un jeu de données Qu'est-ce qu'on peut faire ? Construire un pett arbre de décision compatble avec le maximum de données. Construcion : Idée principale : Diviser récursivement et le plus eicacement possible l'échanillon d'apprenissage par des tests déinis à l'aide des atributs jusqu'à obtenir des sous-échanillons ne contenant (presque) que des exemples appartenant à une même classe. Méthodes de construcion Top-Down, gloutonnes et récursives. On a besoin de trois operateurs permetant de : Décider si un nœud est terminal - Si un nœud n'est pas terminal, lui associer un test - Si un nœud est terminal, lui afecter une classe Répéter Décider si le nœud courant est terminal Si le nœud est terminal alors lui afecter une classe Sinon sélecionner un test et créer autant de nœuds ils qu'il y a de réponses au test Passer au nœud suivant (si il existe) Jusqu'à obtenir un arbre de décision consistant Les trois operateurs (en général) Un nœud est terminal lorsque : Soit (presque) tous les exemples correspondant à ce nœud sont dans la même classe, Soit il n'y a plus d'atribut non uilisé dans la branche correspondante, On atribue a un nœud terminal la classe majoritaire (en cas de conlit, on peut choisir la classe majoritaire dans l‘ échanillon, ou en choisir une au hasard), On sélecionne le test qui fait le plus progresser la classiicaion des données d'apprenissage. Comment mesurer cete progression ? CHOIX DU MEILLEUR ATTRIBUT POUR CRÉER UN NOEUD Il existe plusieurs méthodes pour choisir le meilleur atribut à placer dans un nœud : -Algorithme C4.5, C5.0 ,ID3 uilise l’entropie de Shannon - CHAID Chi-squared Automaic Interacion Detector - CART Classiicaion and regression trees : Indice de GINI Degré de pureté On a besoin de comparer les diférents choix possibles On introduit des fcts qui permetent de mesurer le degré de pureté dans les diférentes classes Propriétés des fcts: Une telle foncion doit vériier la propriété suivante : elle doit prendre son - minimum lorsque tous les exemples sont dans une même classe (le nœud est pur) et - maximum lorsque les exemples sont équiréparis Choisir un test On introduit la foncion de gain : On cherche donc à obtenir le gain maximum. On souhaite obtenir des entropies les plus faibles possibles car, d'après les propriétés de la foncion entropie, si l'entropie est faible, la plupart des éléments se trouvent dans une même classe. l’indice de GINI est le meilleur moyen pour la construcion de l’arbre car il est le seul indice qui répond aux quesions suivantes : - Lorsque la variable est coninue, comment déterminer le seuil de coupe ? - Comment déterminer la bonne taille de l’arbre ? ALGORITHME DE CART Parmi les plus performants et plus répandus Accepte tout type de variables Uilise le Critère de séparaion : Indice de Gini Avec n : nombre de classes à prédire i : fréquence de la classe dans le nœud Plus l’indice de Gini est bas, plus le nœud est pure En séparant 1 nœud en 2 nœuds ils on cherche la plus grande hausse de la pureté La variable la plus discriminante doit maximiser IG(avant séparaion)-[IG(ils1)+……+IG(ilsn)] EXEMPLE – INFORMATION QUALITATIVE Une banque dispose des informaions suivantes sur un ensemble de clients: M : moyenne des montants sur le compte client. A : tranche d'âge du client. R : localité de résidence du client. E : valeur oui si le client a un niveau d'études supérieures. I : classe oui correspond à un client qui efectue une consultaion de ses comptes bancaires en uilisant Internet CALCUL DE L’INDICE DE GINI Indice de Gini avant séparaion au NIVEAU DE LA RACINE : Indice de Gini de la variable M (Moyenne des montants sur le compte client ): Indice de Gini de ils M = Faible : Indice de Gini de ils M = Moyen : Indice de Gini de ils M = Elevé : Indice de Gini de M: IG(avant séparaion)-[IG(M=Faible)+IG(M=Moyen)+IG(M=Elevé)] = 0.46875 – [0.4444444 + 0.4444444 + 0] = -0.4201388 Indice de Gini de la variable A (Tranche d'âge du client): Indice de Gini de A: IG(avant séparaion)-[IG(A=Jeune)+IG(A=Moyen)+IG(A=Agé)] = 0.46875 – [0 + 0.5 + 0] = -0.03125 Indice de Gini de R: IG(avant séparaion)-[IG(R=Village)+IG(R=Bourg)+IG(R=Ville)] = 0.46875 – [0.4444444 + 0.5 + 0.4444444] = -0.9201388 Indice de Gini de E: IG(avant séparaion)-[IG(E=Oui)+IG(E=Non)]=0.46875 – [0.48+0] = -0.01125388 La variable la plus séparatrice est celle qui maximise : IG(avant séparaion)-[IG(ils1)+IG(ils2)+……+IG(ilsn)] CONSTRUCTION DE L’ARBRE CALCUL DE L’INDICE DE GINI : E=OUI Indice de Gini avant séparaion avec E = Oui : Indice de Gini de la variable M avec E=Oui: Indice de Gini de ils M = Faible & E = Oui : Indice de Gini de ils M = Moyen & E = Oui : IG(M=Moyen & E=Oui) = 1 – ( (2/3)² + (1/3)² ) = 0.4444444 Indice de Gini de ils M = Elevé & E = Oui: IG(M=Elevé & E=Oui) = 1 – ( (0/1)² + (1/1)² ) = 0 Indice de Gini de M avec E=Oui : IG(avant séparaion1)-[IG(M=Faible)+IG(M=Moyen)+IG(M=Elevé)]= 0.48 – [0 + 0.4444444 + 0] = 0.0355556 Indice de Gini de la variable A (Tranche d'âge du client) avec E=Oui : Indice de Gini de ils A = Jeune & E = Oui : IG(A=Jeune & E = Oui) = 1 – ( (1/1)² + (0/1)² ) = 0 Indice de Gini de ils A = Agé & E = Oui : IG(A=Agé & E = Oui ) = 1 – ( (0/2)² + (2/2)² ) = 0 Indice de Gini de A avec E=Oui: IG(avant séparaion1)-[IG(A=Jeune)+IG(A=Moyen) +IG(A=Agé)] Indice de Gini de la variable R avec E=Oui : Indice de Gini de ils R= Village & E = Oui : IG(R= Village & E = Oui ) = 1 – ( (1/1)² + (0/1)² ) = 0 Indice de Gini de ils R= Bourg & E = Oui : IG(R= Bourg & E = Oui ) = 1 – ( (1/1)² + (0/1)² ) = 0 Indice de Gini de ils R= Ville & E = Oui : IG(R=Ville & E = Oui ) = 1 – ( (1/3)² + (2/3)² ) = 0.4444444 Indice de Gini de R avec E=Oui: IG(avant séparaion1)-[IG(R=Village)+IG(R=Bourg)+IG(R=Ville)] = 0.48 – [0 + 0 + 0.4444444] = 0.035 L’ARBRE DE DÉCISION