150 likes | 269 Views
INSA de Rennes Département INFO 4 ième année – G2.1. Projet Acquisition de connaissances. Réalisé par Anne-Laure Berrée , Andra Maria Blaj , Stéphanie Charlet , Diana Dragusin , Daphné Dussaud , Emeline Escolivet , Nolwenn Poirier & Fanny Tollec. Encadré par Peggy CELLIER.
E N D
INSA de Rennes Département INFO 4ième année – G2.1 Projet Acquisition de connaissances Réalisé par Anne-Laure Berrée,Andra Maria Blaj, Stéphanie Charlet, Diana Dragusin, Daphné Dussaud, Emeline Escolivet, Nolwenn Poirier & Fanny Tollec Encadré par Peggy CELLIER
Plan Contexte et objectifs Choix effectués Description de l’outil Comparaison avec Weka
Contexte et objectifs Quelques rappels • Règles d’associations • SI condition(s) ALORS • fait(s) Weka • Objectif général • Extraire des règles • d’associations à • partir de données • de la forme Notre outil
Contexte et objectifs Objectifs • Objectif n°1 • Transformer deux types de jeux de données en la matrice Transaction/Items • Objectif n°2 • Implémenter un algorithme from scratch effectuant un travail semblable à Apriori • Objectif n°3 • Implémenter différents calculs d’indice statistique • Objectif n°4 • Implémenter différents types d’itemsets • Objectif n°5 • Comparer les performances de l’outil avec Weka
II. Choix effectués Langage Emeline Pourquoi Java ? • Langage orienté objet permettant une modélisation simple et rapide • Présence de structures de données facilement manipulables • Import des fichiers relativement aisé • Facilité de mise en place d’une interface graphique • Multiplateforme
II. Choix effectués Algorithme Emeline/Andra Algorithme Apriori Algorithme FP-Growth
II. Choix effectués Algorithme Emeline/Andra Comparaison des algorithmes
II. Choix effectués Modélisation RègleAssociation Attribut • - Integerpremisse[] • int but • double valeurCritere • String attribut Moteur • boolean[][] matrix • double seuilSupportMin • double seuilCritereMin Indice AlgoApriori • Vector<Vector<Integer>> transactions • Vector<Integer> unItems • Vector<ItemSet> itemsFreq IndiceSupport IndiceConfiance IndiceLift
III. Description de l’outil Import et mise en forme des données • Données non structurées : • articles de journaux • Données structurées : • tickets de caisse Attributs et objets : Tickets de caisse Attributs : Mots sous forme de liste + Phase de discrétisation des données Discrétisation d’attributs continus - Âge < 20 - 20 < Âge < 40 - 40 < Âge < 60 Discrétisation d’attributs nominaux -Homme -Femme Objets : Articles de journaux = =
III. Description de l’outil Implémentation de l’algorithme 1. Transformation des données de matrice booléenne en transactions 2. Génération des un-imtemsetsfréquents 3. Génération des 2-itemsets fréquents
III. Description de l’outil Implémentation de l’algorithme 4. Génération des k-itemsetsfréquents constructionkItemsSets ( entier k , entier supportMin ) si ( il y a eu des k-1 - i t emsets générés) alors pour chaque i temset i de taille k-1 faire pourchaqueitemset j de taille k-1 différent de i faire si ( i et j sont différents que par le dernier élément) alors kItem = i+dernier élément de j tri de kItem en ordre croissant des items supportItem = support de kItem si ( supportItem>=supportMin ) alors ajouter kItem et son support dans la liste des itemsetsfréquents finsi finsi fin pour fin pour si ( k+1 est inférieur au cardinal de la liste de 1- itemsets fréquents ) alors constructionkItemsSets ( k+1, support ) ; finsi finsi fin
III. Description de l’outil Génération des itemsets • Anne-Laure
III. Description de l’outil Exécution et affichage des résultats • Anne-Laure (on pourrait inclure la démo là!)
IV. Comparaison avec Weka • Fanny
Bilan • Difficultés rencontrées • Choix de modélisation • Mise en commun • Atouts de l’outil • Choix de modélisation • Mise en commun