1 / 29

Fast and Furious Decision Tree Induction

Fast and Furious Decision Tree Induction. INSA Rennes. Andra BLAJ Emeline ESCOLIVET Simon MANDEMENT Gareth THIVEUX Nicolas DESFEUX Renaud PHILIPPE. Fast and Furious Decision Tree Induction. Contexte Technologies utilisées lors du projet Apprentissage automatique

may-gibson
Download Presentation

Fast and Furious Decision Tree Induction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fast and FuriousDecisionTree Induction INSA Rennes Andra BLAJ Emeline ESCOLIVET Simon MANDEMENT Gareth THIVEUX Nicolas DESFEUX Renaud PHILIPPE

  2. Fast and FuriousDecisionTree Induction • Contexte • Technologies utilisées lors du projet • Apprentissage automatique • Arbres de décision • Map-Reduce • Hadoop • Spécifications fonctionnelles • Données présentes en entrée • Données en sortie • Arbres de décision dans l’application • Parallélisation • Planification initiale • Conclusion

  3. 1. Contexte

  4. Contexte (1) Origines du projet : • Projet lié aux activités de recherche de l’IRISA. • EquipeTexmex: exploitation de documents multimédia. • EquipeMyriads: développement et administration de systèmes distribués à large échelle.

  5. Contexte (2) Objectifs : • Créer des arbres aidant à la décision. • Utiliser des fichiers de données volumineux pour trouver des règles de décision. • Généraliser le fonctionnement pour l’adapter à tous les domaines.

  6. Spécifications fonctionnelles (1) Données en entrée • 3 types de descripteurs: • discrete:données faisant partie d’une liste prédéfinie (ex: « oui », « non », « peut être »); • continuous : valeurs numériques ordonnées (ex : IMC); • text : phrases ou expressions; 6

  7. Spécifications fonctionnelles (2) • 2 fichiers en entrée: • .names : • la liste des annotations possibles • une description du contenu du fichier de données • une description du type des descripteurs ou des attributs • .data : • les données et les annotations associées Fichiers en entrée Grippe, Rhume. age : continuous : ignore. boutons : discrete : cutoff = 15. imc : continuous. 52, Oui, 25, Grippe. 45, Oui, 28, Rhume. 28, Non, 20, Rhume. 7

  8. 2. Technologies utilisées lors du projet

  9. Technologies utilisées (1) • Discipline où un outil technologique est capable d’apprendre par lui-même. • Sorte d’intelligence artificielle. • Plusieurs degrés de supervision. • Base de données d’exemples. • Décisions d’étiquetage précises. Apprentissage Automatique Définition - Fonctionnement

  10. Technologies utilisées (2) • Exemple déjà étiqueté : adapté à l’apprentissage automatique supervisé. • Efficace avec un grand volume de données : • Processus d’apprentissage complet, • Étiquetage précis. • Capable d’étiqueter de nouveaux exemples automatiquement. Applications dans notre projet

  11. Technologies utilisées (3) • Outils d’aide à la décision et à l’exploration de données. • Représentation à l’aide de nœuds et de feuilles. • Populaire et simple d’utilisation. Arbres de décisions Définition - Fonctionnement

  12. Technologies utilisées (4) • Facile à comprendre et à utiliser. • Taille dépendante du nombre de questions, et non de la taille des données. • Lisibilité du rendu. • Construction simple de rendu visuel (avec des fichier XML et CSS par exemple). Avantage pour notre projet

  13. 3. Spécifications fonctionnelles

  14. Spécifications fonctionnelles (5) • Nœuds - chaque nœud correspond à une question sur un attribut et à un ensemble d’exemples; • Branches - chaque branche part d’un nœud et correspond à une réponse possible à la question posée en ce nœud; • Feuilles - nœuds d’où ne part aucune branche (correspond à une classe). Les arbres de décision dans l’application

  15. Spécifications fonctionnelles (6) • Etapes de la construction d’un arbre: • Apprendre une suite de questions/réponses la plus "efficace" possible. • Isoler les classes. • Organiser les questions/réponses sous la forme d’un arbre.

  16. Spécifications fonctionnelles (3) • type discrete : 1 question par valeur de l’attribut. • type continuous : pour une valeur donnée de l’attribut, la question cherche à déterminer combien d’exemples ont une valeur supérieur ou inférieure à celle-ci. • type text : 3 paramètres pris en compte • expert_length : nombre de mots à rechercher • expert_type : F-gram, S-gram, N-gram • expert_level : 3 niveaux de recherche Génération des questions

  17. Spécifications fonctionnelles (4) • Format xml • Visualisation graphique Données en sortie <? xml v e r s i on =" 1 . 0 " e n c o d i n g ="UTF-8" ?> <Tree> <Node id =" 1 "> <Result . . . > < !-- compte-rendu des etiquettes . --> <Result number=“1" name=“grippe" percentage=“50" / > < !– Exemple de resultat --> <Question . . >+ < !-- question qui amenera a la creation de ces noeud --> <Question column=" Fumeur " value=“oui" entropy =" 1 " nbOcuurence=" 12 "> < !-- Exemple de question --> <TrueNode id="2" / > <!– noeud où la réponse à la question est “oui” --> <Result...> <Question...> <FalseNode id="3" / > <!-- noeud où la réponse à la question est “non”--> </Node> </Tree>

  18. Technologies utilisées (5) • Opération exécutée en parallèle -> chaque nœud travaille indépendamment des autres, sur une partie du fichier d'entrée. • Association à un couple ( clé , valeur ). • Opération spécifique sur chaque élément (ligne). • Traitement différent selon le type: Discrète, Continue ou Texte. MapReduce Partie Map

  19. Technologies utilisées (6) • Nœuds esclaves font remonter l'information. • Calcul par les nœuds parents. • Groupement des couples ayant la même clé. • Le nœud origine peut, à la fin de l'opération Reduce, donner une réponse. MapReduce Partie Reduce

  20. Spécifications fonctionnelles (8) Parallélisation Exemple de fonctionnement de MapReduce, pour compter les occurrences de mots dans un texte. Fichier d’entrée: 1. savoir être et 2. savoir faire 3. sans faire savoir

  21. Technologies utilisées (7) • Projet libre qui permet une implémentation de MapReduce. • Un nœud maitre et des nœuds esclaves. • Fractionnement du traitement sur différentes machines. Hadoop

  22. Technologies utilisées (8) • Système de fichier distribué propre à Hadoop. • Répartition des données entre les Datanodes. • Assignation des tâches aux nœuds esclaves. • Retour du résultat au nœud maître. Hadoop

  23. Spécifications fonctionnelles (9) • Spécification importante du projet → réduire le temps de construction des questions et du parcours de l’arbre. • Solution envisagée → utilisation d’un cluster de machines via Hadoop (de manière plug-and-play). • Parallélisation – répartition de plusieurs "job" sur plusieurs machines connectées.

  24. Spécifications fonctionnelles (7)

  25. 4. Planification initiale

  26. Planification initiale (1) Calendrier :- 7h par semaine - entre 25 et 28h en semaine de projet - ajout de semaines de congés (semaine de partiels, vacances de Noël …) Ressources : 6 personnes, ayant chacune la même charge Détermination des tâches : 5 phases, chacune divisées entre 3 et 5 tâches, elles-mêmes découpées en sous-tâches et sous-sous-tâches Estimation des durées : - 1re estimation basée sur le temps déjà passé sur les tâches - 2ème estimation grâce à du Planning Poker

  27. Planification initiale (2)

  28. 5. Conclusion

  29. Conclusion Fast and FuriousDecisionTree Induction : • Projet à l’origine d’équipes de l’IRISA. • Création des arbres aidant à la décision. • Généralisation le fonctionnement pour l’adapter à tous les domaines. • Traitement des fichiers de données volumineux grâce à une parallélisation des calculs gérée par les technologies Hadoop/MapReduce. • Réussite et respect des délais => une bonne planification et un suivi régulier.

More Related