fast and furious decision tree induction projet 4info 1 andra blaj nicolas desfeux emeline escolivet...

29
Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs : Nikolaos PARLAVANTZAS Christian RAYMOND le 17/12/10 INSA Rennes

Upload: rodolphe-le-corre

Post on 04-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Fast and Furious Decision Tree Induction

Projet 4INFO

1

Andra BLAJNicolas DESFEUXEmeline ESCOLIVETSimon MANDEMENTRenaud PHILIPPEGareth THIVEUX

Encadreurs :Nikolaos PARLAVANTZASChristian RAYMOND

le 17/12/10

INSA Rennes

Page 2: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Fast and Furious Decision Tree Induction

1. Contexte2. Technologies utilisées lors du projet

1. Apprentissage automatique2. Arbres de décision3. MapReduce4. Hadoop

3. Spécifications fonctionnelles1. Données présentes en entrée2. Données en sortie3. L’application

4. Planification initiale5. Conclusion

2/29

Page 3: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Fast and Furious Decision Tree Induction

1.Contexte2. Technologies utilisées lors du projet

1. Apprentissage automatique2. Arbres de décision3. MapReduce4. Hadoop

3. Spécifications fonctionnelles1. Données présentes en entrée2. Données en sortie3. L’application

4. Planification initiale5. Conclusion

3/29

Page 4: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

ContexteOrigines du projet

Origines du projet

•Projet lié aux activités de recherche de l’IRISA.•Équipe Texmex: exploitation de documents multimédia.•Équipe Myriads: développement et administration de systèmes distribués à large échelle.

4/29

Page 5: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

ContexteObjectifs

Objectifs

• Développer un algorithme capable de faire de l’apprentissage automatique.•Créer des arbres aidant à la décision.•Réduire le temps d’exécution. •Généraliser le fonctionnement pour l’adapterà plusieurs domaines.

5/29

Page 6: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Fast and Furious Decision Tree Induction

1. Contexte

2.Technologies utilisées lors du projet1. Apprentissage automatique2. Arbres de décision3. MapReduce4. Hadoop

3. Spécifications fonctionnelles1. Données présentes en entrée2. Données en sortie3. L’application

4. Planification initiale5. Conclusion

6/29

Page 7: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Technologies utilisées1. Apprentissage automatique

• Discipline dans laquelle un outil est capable d’apprendre par lui-même à partir d’une base de données d’exemples.

• Forme d’intelligence artificielle.

Apprentissage AutomatiqueDéfinition - Fonctionnement

7/29

Page 8: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Arbres de décisions

8/29

Tableau de données

Age Boutons IMC Observations Diagnostic

25 OUI 19 Mal à la tête Rhume

46 NON 26 Tousse Rhume

37 NON 17.9 Fièvre Grippe

68 OUI 22 Plaques dans le dos

Eczéma

51 NON 35 Plaques dans le dos

Eczéma

18 OUI 17 Fièvre Grippe

Technologies utilisées2. Arbres de décisions : tableau de données

Page 9: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Technologies utilisées2. Arbres de décisions : arbre construit

Arbre construit à partir du tableau de données

9/29

Page 10: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Technologies utilisées2. Arbres de décisions : algorithme parallélisable

10/29

Arbres de décisions

• Algorithme aisément parallélisable au niveau des calculs:– Au niveau des nœuds– Au niveau des questions

• Nécessité d’utiliser un modèle de parallélisation: MapReduce.

Page 11: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Technologies utilisées3. MapReduce : map

• Opération exécutée en parallèle – Chaque nœud travaille indépendamment des

autres, sur une partie du fichier d’entrée.

• Traitement différent selon le type: Discrète, Continue ou Texte.

MapReducePartie Map

11/29

Page 12: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Technologies utilisées3. MapReduce : reduce

• Partitionnement des données.• Multiprocessus.• Nœuds esclaves font remonter l'information. • Groupement des couples ayant la même clé.• Le nœud origine peut, à la fin de l'opération

Reduce, donner une réponse.

MapReducePartie Reduce

12/29

Page 13: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Technologies utilisées4. Hadoop : présentation

• Projet libre qui permet une implémentation de MapReduce.

• Un nœud maître et des nœuds esclaves.• Fractionnement du traitement sur différentes

machines.

Hadoop

13/29

Page 14: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Technologies utilisées4. Hadoop : fonctionnement

• Système de fichiers 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

14/29

Page 15: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Parallélisation

Fichier d’entrée:

1. savoir être et2. savoir faire3. sans faire savoir

Exemple de fonctionnement de MapReduce, pour compter les occurrences de mots dans un texte.

15/29

Technologies utiliséesParallélisation

Page 16: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

• 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.

16/29

Technologies utiliséesSolution envisagée

Page 17: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Fast and Furious Decision Tree Induction

1. Contexte2. Technologies utilisées lors du projet

1. Apprentissage automatique2. Arbres de décision3. MapReduce4. Hadoop

3.Spécifications fonctionnelles1. Données présentes en entrée2. Données en sortie3. L’application

4. Planification initiale5. Conclusion

17/29

Page 18: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Spécifications fonctionnelles1. Données présentes en entrée : données

Données en entrée

18/29

• 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;

Page 19: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Spécifications fonctionnelles1. Données présentes en entrées : fichiers

19/29

Fichiers en entrée

• 2 fichiers en entrée:- fichier descripteur:

• la liste des annotations possibles • une description du contenu du fichier de données• une description du type des descripteurs ou des

attributs

- fichier de données : • les données et les annotations associées

25, Oui, 19, Mal à la tête, Rhume.46, Non, 26, Tousse, Grippe.37, Non, 17.9, Fièvre, Rhume.

Grippe, Rhume.age : continuous : ignore.boutons : discrete : cutoff = 15.imc : continuous.observation : text.

Page 20: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Spécifications fonctionnelles2. Données en sortie : format XML

20/29

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>

• Format XML

Page 21: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Spécifications fonctionnelles2. Données en sortie : visualisation graphique

21/29

Données en sortie

• Visualisation graphique

Page 22: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Spécifications fonctionnelles3. L’application

22/29

Page 23: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Fast and Furious Decision Tree Induction

1. Contexte2. Technologies utilisées lors du projet

1. Apprentissage automatique2. Arbres de décision3. MapReduce4. Hadoop

3. Spécifications fonctionnelles1. Données présentes en entrée2. Données en sortie3. L’application

4.Planification initiale5. Conclusion

23/29

Page 24: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Planification initialeCalendrier, ressources et tâches

24/29

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, mais avec différentes responsabilités

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 au Planning Poker

Page 25: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Planification initialeTâches et diagramme de Gantt

25/29

Page 26: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Planification initialeRisques et suivi de planification

Analyse des risques :-Chemin critique à définir pour prévenir tout retard sur la date finale du projet-Prévenir le risque de la perte de données : SVN sur GoogleCode, Forge INSA, copies locales-Difficultés et éventuels problèmes techniques lors de la mise en place de la parallélisation, utilisation du cluster Hadoop, pannes de PC

Suivi de planification : -Rectification et mise à jour du planning.-Affinage de la planification lors de la phase de construction.

26/30

Page 27: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Planification initialePrototypes

27/30

Ce que nous avons réalisé : • Lecture et analyse des fichiers d’entrée.• Génération de tous les types de questions.• Agrégation des réponses pour les questions discrètes et continues.• Génération d’un fichier qui contient toutes les questions.

Page 28: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Fast and Furious Decision Tree Induction

1. Contexte2. Technologies utilisées lors du projet

1. Apprentissage automatique2. Arbres de décision3. MapReduce4. Hadoop

3. Spécifications fonctionnelles1. Données présentes en entrée2. Données en sortie3. L’application

4. Planification initiale

5.Conclusion

28/29

Page 29: Fast and Furious Decision Tree Induction Projet 4INFO 1 Andra BLAJ Nicolas DESFEUX Emeline ESCOLIVET Simon MANDEMENT Renaud PHILIPPE Gareth THIVEUX Encadreurs

Conclusion

29/29

Fast and Furious Decision Tree Induction :

•Projet à l’origine d’équipes de l’IRISA.

•Création d’arbres aidant à la décision.

•Traitement des fichiers de données volumineux grâce à une parallélisation des calculs.

•Réussite et respect des délais « If you fail to plan then you plan to fail »

=> une bonne planification et un suivi régulier.