Machine Learning avec Weka

Documents pareils
Deuxième Licence en Informatique Data Warehousing et Data Mining La Classification - 1

Introduction aux outils BI de SQL Server Fouille de données avec SQL Server Analysis Services (SSAS)

Travaux pratiques avec RapidMiner

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

Laboratoire 4 Développement d un système intelligent

données en connaissance et en actions?

Une méthode de classification supervisée sans paramètre pour l apprentissage sur les grandes bases de données

INF6304 Interfaces Intelligentes

BIRT (Business Intelligence and Reporting Tools)

Algorithmes d'apprentissage

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

Data Mining. Master 1 Informatique - Mathématiques UAG

1 Modélisation d être mauvais payeur

DATA MINING FOR SCIENTISTS

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Didacticiel Études de cas. Description succincte de Pentaho Data Integration Community Edition (Kettle).

INTRODUCTION AU DATA MINING

Introduction au datamining

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

TANAGRA : un logiciel gratuit pour l enseignement et la recherche

Apprentissage incrémental par sélection de données dans un flux pour une application de sécurité routière

Transmission d informations sur le réseau électrique

La classification automatique de données quantitatives

Spécifications, Développement et Promotion. Ricco RAKOTOMALALA Université Lumière Lyon 2 Laboratoire ERIC

Introduction au Data-Mining

Techniques du Data Mining pour la prédiction de faillite des entreprises et la gestion du risque de crédit

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

Spécificités, Applications et Outils

SAP BusinessObjects Web Intelligence (WebI) BI 4

HighPush. document /06/2009 Révision pour version /11/2008 Revision pour la /10/2008 Documentation initiale.

Analyses croisées de sites Web pour détecter les sites de contrefaçon. Prof. Dr. Olivier Biberstein

AWS avancé. Surveiller votre utilisation d EC2

Pentaho Business Analytics Intégrer > Explorer > Prévoir

LOGO. Module «Big Data» Extraction de Connaissances à partir de Données. Claudia MARINICA MCF, ETIS UCP/ENSEA/CNRS

Amélioration de la fiabilité d inspection en CND grâce à la fusion d information : applications en rayons X et ultrasons

Tutoriel : utilisation de l outil de veille TaDaweb

Fouille de données (Data Mining) - Un tour d horizon -

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Raisonnement probabiliste

Business Intelligence

Arbres binaires de décision

: seul le dossier dossier sera cherché, tous les sousdomaines

Introduction : présentation de la Business Intelligence

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

L'intelligence d'affaires: la statistique dans nos vies de consommateurs

Big Data et Graphes : Quelques pistes de recherche

5. Excel 2010, le tableur collaboratif. a. Concevez des tableaux lisibles

Organisé par StatSoft France et animé par Dr Diego Kuonen, expert en techniques de data mining.

Utilisation avancée de SugarCRM Version Professional 6.5

Évaluation et implémentation des langages

FOIRE AUX QUESTIONS ACT! 2009

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Nouveautés CRM 2015 & Migration. By Tanguy Touzard MVP CRM

Accéder à ZeCoffre via FTP

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Bio-Rad Laboratories CONTRÔLE DE QUALITÉ. Le logiciel de Bio-Rad pour une gestion experte du contrôle de qualité

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Manuel logiciel client Java

Data Mining. Bibliographie (1) Sites (1) Bibliographie (2) Plan du cours. Sites (2) Master 2 Informatique UAG

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

PRÉSENTATION PRODUIT. Plus qu un logiciel, la méthode plus efficace de réconcilier.

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Ricco Rakotomalala. SQL Server Data Mining Add-Ins (incluant Data Mining Client pour Excel).

Plateforme de capture et d analyse de sites Web AspirWeb

Business Intelligence avec Excel, Power BI et Office 365

Application de K-means à la définition du nombre de VM optimal dans un cloud

Sélection de Caractéristiques pour le Filtrage de Spams

Outils pour les réseaux de neurones et contenu du CD-Rom

Big Data et Graphes : Quelques pistes de recherche

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

Programme détaillé. LES TABLEAUX DE BORD Formation en présentiel (21 h) accompagnée d un parcours e-learning Excel (5 h)

Les technologies du Big Data

Comment faire des étiquettes d adresse avec LIBREOFFICE, à partir d un fichier EXEL ou CALC

HelpDesk. Sept avantages de HelpDesk

Procédure d'utilisation de Password Gorilla

NOS FORMATIONS EN BUREAUTIQUE

Introduction à Eclipse

VIPE CNAM 6 mars Frank Meyer Orange Labs / IMT / UCE / CRM-DA / PROF

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Introduction au Data-Mining

Manuel d utilisation du site web de l ONRN

Une ergonomie intuitive

CREATION D UN WINPE 3.1

Guide Tenrox R8.7 de configuration de Microsoft Reporting Services

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

FEN FICHE EMPLOIS NUISANCES

Objet du document. Version document : 1.00

TP Bases de données réparties

WINDOWS SHAREPOINT SERVICES 2007

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Module d anonymisation

5. Apprentissage pour le filtrage collaboratif

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Structure du cours : Il existe de nombreuses méthodes intéressantes qui couvrent l Analyse des Données

Chapitre 7. Récurrences

Groupe Eyrolles, 2005,

Programme des Obligations d épargne du Canada. Guide d utilisation du serveur FTPS. Version 2.4

Transcription:

Machine Learning avec Weka Module X8II090 - Cours 1 Florian Boudin Département informatique, Université de Nantes Révision 1 du 4 janvier 2012

Plan Préambule Introduction Traitement des données Format d entrée Pré-traitement des données Classification Les algorithmes de classification dans Weka Les méthodes de base Entraînement et sauvegarde des modèles dans Weka Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 2 sur 53

Objectifs et notions abordées Objectif principal : être capable d utiliser le toolkit Weka Interface graphique Outil en ligne de commande Ce cours reprend les exemples ainsi que la méthodologie du livre Data Mining par Witten & Frank Site web du cours http://www.florianboudin.org/cours/weka/ 04 jan 2012 / Rév. 1 - page 3 sur 53

Motivations La fécondation in vitro (procréation médicalement assistée) Collecte d ovules et de spermatozoïdes Fécondation de plusieurs embryons Comment choisir les "meilleurs" embryons à implanter? Nombre de cellules, régularité, fragmentation,... (± 60 critères) L éleveur de Nouvelle-Zélande Habituellement 20% des vaches sont abattues en fin de saison Comment choisir les vaches pour l abattoir? Reproduction, quantité et qualité du lait, problèmes de santé, âge, amour de l éleveur,... (± 700 critères) Autres exemples : reconnaissance du code postal, filtrage anti-spams, radars automatiques L exploration de données et l apprentissage sont partout! 04 jan 2012 / Rév. 1 - page 4 sur 53

Plan Préambule Introduction Traitement des données Classification Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 5 sur 53

D ou vient le nom Weka? Alan Vernon via Wikimedia Commons 04 jan 2012 / Rév. 1 - page 6 sur 53

Présentation de Weka (1) Weka (Waikato Environment for Knowledge Analysis) Environnement Waikato pour l analyse de connaissances Suite de logiciels d apprentissage automatique et d exploration de données écrite en Java Développée à l université de Waikato en Nouvelle-Zélande Historique 1993, Développement de la version originale en C 1997, Re-développement à partir de zéro en Java 2005, Weka reçoit le SIG KDD award 2006, Pentaho Corporation acquiert une licence exclusive 04 jan 2012 / Rév. 1 - page 7 sur 53

Présentation de Weka (2) 2 848 660 downloads sur Sourceforge (2011) Disponible pour toutes les plateformes Windows x86, Windows x64, Mac OS X, Linux etc. Documentation riche et communauté large Le livre Data Mining : Practical Machine Learning Tools and Techniques (troisième édition) API http://weka.sourceforge.net/doc.stable/ Wiki http://weka.wikispaces.com/ FAQ http://weka.wikispaces.com/faq Tutoriels, mailing list, etc. 04 jan 2012 / Rév. 1 - page 8 sur 53

Que contient le toolkit Weka? Outils de pré-traitement des données (filtering) Sélection, transformation, combinaison d attributs, normalisation, re-échantillonnage, etc. Algorithmes pour l exploration de données Clustering, classification, régression, etc. Analyse de résultats Évaluation de performances, comparaison d algorithmes, etc. Plusieurs interfaces Graphiques (Explorer, Experimenter et Knowledge Flow) En ligne de commande (CLI) 04 jan 2012 / Rév. 1 - page 9 sur 53

Aperçu de l interface de Weka 04 jan 2012 / Rév. 1 - page 10 sur 53

Utilisation de l outil en ligne de commande L interface graphique est suffisante pour les premières expériences L interface en CLI est recommandée pour une utilisation plus poussée Elle offre des fonctionnalités supplémentaires Elle utilise beaucoup moins de mémoire Penser à : Augmenter le maximum heap size de Java (-Xmx1024M) Ajouter weka.jar dans CLASSPATH 04 jan 2012 / Rév. 1 - page 11 sur 53

Plan Préambule Introduction Traitement des données Format d entrée Pré-traitement des données Classification Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 12 sur 53

Format d entrée (1) Le format d entrée par défaut de Weka est le ARFF (Attribute Relation File Format) D autres formats peuvent être importés CSV, binaire, BDD SQL (avec JDBC), à partir d une URL, etc. Caractéristiques du format de fichier ARFF : 1. Les commentaires sont précédés de % % Ceci est un commentaire dans un ensemble % de donnees. 2. Définition du nom de l ensemble de données avec @relation Le nom doit être aussi compréhensible que possible @relation temperaturemaison_14jours 04 jan 2012 / Rév. 1 - page 13 sur 53

Format d entrée (2) 3. Définition des features avec @attribute Attributs nominaux suivis des valeurs entre accolades @attribute outlook {sunny, overcast, rainy} Attributs numériques avec real @attribute temperature real Attributs chaines avec string, les valeurs doivent être entre doubles guillemets "blah blih bloh" @attribute untexte string Attributs dates avec date (yyyy-mm-dd-thh :mm :ss) @attribute unedate date 4. @data signale le début des instances 04 jan 2012 / Rév. 1 - page 14 sur 53

Exemple de fichier ARFF % Ensemble de donnees sur la meteo @relation weather % Definition des features @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} % Debut des instances @data sunny,85,85,false,no sunny,80,90,true,no overcast,83,86,false,yes rainy,70,96,false,yes... 04 jan 2012 / Rév. 1 - page 15 sur 53

Format d entrée (3) Par défaut, le dernier attribut est considéré comme la variable de classe / à prédire En CLI, la commande -c permet de choisir la variable à prédire, e.g. -c 1 spécifie le premier attribut Dans le cas de données éparses, il est possible de compresser les données en ne représentant pas explicitement les valeurs 0 Le format est <index><espace><valeur> % Instances contenant beaucoup de 0 0, 6, 0, 0, 0, 0, 3, 0, 0, 0, "class A" 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, "class B" % Instances compressees avec des accolades {1 6, 6 3, 10 "class A"} {3 4, 10 "class B"} 04 jan 2012 / Rév. 1 - page 16 sur 53

Format d entrée (4) Les outils de visualisation sont très utiles ARFFviewer : visualisation, modification, tri, etc. Explorer : chargement des données, histogrammes, etc. Apprendre à voir les données Les histogrammes et les courbes montrent les dépendances Trop de données prendre un extrait Démonstration 1 Visualisation et modification du contenu d un fichier ARFF Chargement et visualisation des courbes Conversion ARFF CSV 04 jan 2012 / Rév. 1 - page 17 sur 53

Plan Préambule Introduction Traitement des données Format d entrée Pré-traitement des données Classification Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 18 sur 53

Pré-traitement des données (1) Les pré-traitements dans Weka sont effectués grâce aux filtres Les filtres permettent de modifier les ensemble de données : supprimer ou ajouter des attributs, ré-échantillonner, supprimer des exemples, etc. Le package weka.filters dispose de deux types de filtres Filtres non supervisés Filtres supervisés, i.e. tirant parti de l information de la classe Il existe des filtres pour les attributs et pour les exemples Attention à l évaluation des résultats, les filtres supervisés utilisent les valeurs de classes et peuvent biaiser les résultats 04 jan 2012 / Rév. 1 - page 19 sur 53

Pré-traitement des données (2) Plusieurs dizaines de filtres Ajout, suppression et copie d attributs (Add, Remove et Copy) Ajout de bruit (AddNoise) Fusion d attributs (Merge) Conversion (NominalToBinary, StringToBinary, etc.) Anonymer (Obfuscate) Méthode de discrétisation (Discretize) Exemple d application d un filtre avec l Exlorer et en CLI 04 jan 2012 / Rév. 1 - page 20 sur 53

Application d un filtre : normalisation 04 jan 2012 / Rév. 1 - page 21 sur 53

Application d un filtre : normalisation 04 jan 2012 / Rév. 1 - page 21 sur 53

Application d un filtre : normalisation 04 jan 2012 / Rév. 1 - page 21 sur 53

Application d un filtre : normalisation Avec un clic droit sur le nom du filtre, il est possible d obtenir plus de détails sur son fonctionnement. Il est également possible de modifier certains paramètres. 04 jan 2012 / Rév. 1 - page 21 sur 53

Application d un filtre : normalisation Le filtre a normalisé toutes les valeurs numériques de l ensemble de données dans l intervalle [0, 1]. 04 jan 2012 / Rév. 1 - page 21 sur 53

Application d un filtre en CLI Tous les filtres disposent des options -i et -o pour spécifier l ensemble de données d entrée et de sortie L option -h permet d obtenir la liste des options disponibles Supprimer les deux premiers attributs d un ensemble de données java weka.filters.unsupervised.attribute.remove -R 1-2 -i data1.arff -o data2.arff Créer un sous ensemble préservant la distribution des classes java weka.filters.supervised.instance.resample -i data1.arff -o data1-5%.arff -c last -Z 5 04 jan 2012 / Rév. 1 - page 22 sur 53

Pré-traitement des données (3) Le pré-traitement des données est très important, et il a un impact majeur sur la qualité de l apprentissage Démonstration 2 Chargement des données Application de filtres avec l explorer (ajout de bruit, anonymer) 04 jan 2012 / Rév. 1 - page 23 sur 53

Plan Préambule Introduction Traitement des données Classification Les algorithmes de classification dans Weka Les méthodes de base Entraînement et sauvegarde des modèles dans Weka Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 24 sur 53

Les algorithmes de classification Les classifieurs dans Weka sont des modèles pour prédire des valeurs nominales ou numériques Algorithmes de classification inclus Arbres de décision Classification bayésienne naïve Machine à vecteurs de support (SVM) Perceptron multi-couche Réseau bayésien, etc. Des meta-classifieurs Combinaison Bagging Boosting, etc. 04 jan 2012 / Rév. 1 - page 25 sur 53

L onglet Classify dans l Explorer 04 jan 2012 / Rév. 1 - page 26 sur 53

Plan Préambule Introduction Traitement des données Classification Les algorithmes de classification dans Weka Les méthodes de base Règles de classification Classification Bayésienne probabiliste Les arbres de décision Entraînement et sauvegarde des modèles dans Weka Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 27 sur 53

Déduction de règles de classification Trouver des règles de classification simples (1R pour 1-rule) Idée Une règle pour chaque attribut Une branche pour chacune des valeurs des attributs Pseudocode pour 1R Pour chaque attribut Pour chaque valeur de cet attribut, creer une regle Compter combien de fois chaque classe apparait Trouver la classe la plus frequente Creer une regle : attribut-valeur -> classe Calculer le taux d'erreur de la regle Choisir les regles avec le plus petit taux d'erreur 04 jan 2012 / Rév. 1 - page 28 sur 53

Déduction de règles de classification outlook {sunny,overcast,rainy} temperature numeric humidity numeric windy {TRUE,FALSE} play {yes,no} @data sunny,85,85,false,no sunny,80,90,true,no overcast,83,86,false,yes rainy,70,96,false,yes rainy,68,80,false,yes rainy,65,70,true,no overcast,64,65,true,yes sunny,72,95,false,no sunny,69,70,false,yes rainy,75,80,false,yes sunny,75,70,true,yes overcast,72,90,true,yes overcast,81,75,false,yes rainy,71,91,true,no Attributs Règles Erreurs Total 1 outlook sunny no 2/5 4/14 overcast yes 0/4 rainy yes 2/5 2 temperature 85 no 0/1?/14 83 yes 0/1...... 3 humidity 96 yes 0/1?/14 95 no 0/1...... 4 windy false yes 2/8 5/14 true no 3/6 choix aléatoire de la meilleur règle 04 jan 2012 / Rév. 1 - page 29 sur 53

Déduction de règles de classification outlook {sunny,overcast,rainy} temperature numeric humidity numeric windy {TRUE,FALSE} play {yes,no} @data sunny,85,85,false,no sunny,80,90,true,no overcast,83,86,false,yes rainy,70,96,false,yes rainy,68,80,false,yes rainy,65,70,true,no overcast,64,65,true,yes sunny,72,95,false,no sunny,69,70,false,yes rainy,75,80,false,yes sunny,75,70,true,yes overcast,72,90,true,yes overcast,81,75,false,yes rainy,71,91,true,no Attributs Règles Erreurs Total 1 outlook sunny no 2/5 4/14 overcast yes 0/4 rainy yes 2/5 2 temperature 85 no 0/1?/14 83 yes 0/1...... 3 humidity 96 yes 0/1?/14 95 no 0/1...... 4 windy false yes 2/8 5/14 true no 3/6 choix aléatoire de la meilleur règle 04 jan 2012 / Rév. 1 - page 29 sur 53

Déduction de règles de classification outlook {sunny,overcast,rainy} temperature numeric humidity numeric windy {TRUE,FALSE} play {yes,no} @data sunny,85,85,false,no sunny,80,90,true,no overcast,83,86,false,yes rainy,70,96,false,yes rainy,68,80,false,yes rainy,65,70,true,no overcast,64,65,true,yes sunny,72,95,false,no sunny,69,70,false,yes rainy,75,80,false,yes sunny,75,70,true,yes overcast,72,90,true,yes overcast,81,75,false,yes rainy,71,91,true,no Attributs Règles Erreurs Total 1 outlook sunny no 2/5 4/14 overcast yes 0/4 rainy yes 2/5 2 temperature 85 no 0/1?/14 83 yes 0/1...... 3 humidity 96 yes 0/1?/14 95 no 0/1...... 4 windy false yes 2/8 5/14 true no 3/6 choix aléatoire de la meilleur règle 04 jan 2012 / Rév. 1 - page 29 sur 53

Déduction de règles de classification outlook {sunny,overcast,rainy} temperature numeric humidity numeric windy {TRUE,FALSE} play {yes,no} @data sunny,85,85,false,no sunny,80,90,true,no overcast,83,86,false,yes rainy,70,96,false,yes rainy,68,80,false,yes rainy,65,70,true,no overcast,64,65,true,yes sunny,72,95,false,no sunny,69,70,false,yes rainy,75,80,false,yes sunny,75,70,true,yes overcast,72,90,true,yes overcast,81,75,false,yes rainy,71,91,true,no Attributs Règles Erreurs Total 1 outlook sunny no 2/5 4/14 overcast yes 0/4 rainy yes 2/5 2 temperature 85 no 0/1?/14 83 yes 0/1...... 3 humidity 96 yes 0/1?/14 95 no 0/1...... 4 windy false yes 2/8 5/14 true no 3/6 choix aléatoire de la meilleur règle Problème avec les attributs numériques 04 jan 2012 / Rév. 1 - page 29 sur 53

Classification 1-R dans Weka 04 jan 2012 / Rév. 1 - page 30 sur 53

Discrétisation des données Comment convertir les attributs numériques en attributs nominaux pour pouvoir créer des règles? Il faut discrétiser les attributs numériques 64 65 68 69 70 71 72 72 75 75 80 81 83 85 yes no yes yes yes no no yes yes yes no yes yes no 04 jan 2012 / Rév. 1 - page 31 sur 53

Discrétisation des données Comment convertir les attributs numériques en attributs nominaux pour pouvoir créer des règles? Il faut discrétiser les attributs numériques 64 65 68 69 70 71 72 72 75 75 80 81 83 85 yes no yes yes yes no no yes yes yes no yes yes no Création (automatique) de 8 catégories en découpant aux points 64.5, 66.5, 70.5, 72, 77.5, 80.5 et 84 1-R n utilise qu un attribut! Utiliser tous les attributs, chacun contribuant à la décision 04 jan 2012 / Rév. 1 - page 31 sur 53

Plan Préambule Introduction Traitement des données Classification Les algorithmes de classification dans Weka Les méthodes de base Règles de classification Classification Bayésienne probabiliste Les arbres de décision Entraînement et sauvegarde des modèles dans Weka Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 32 sur 53

Ensemble de données weather.symbolic @relation weather.symbolic @attribute outlook {sunny, overcast, rainy} @attribute temperature {hot, mild, cool} @attribute humidity {high, normal} @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data sunny,hot,high,false,no sunny,hot,high,true,no overcast,hot,high,false,yes rainy,mild,high,false,yes rainy,cool,normal,false,yes rainy,cool,normal,true,no overcast,cool,normal,true,yes... 04 jan 2012 / Rév. 1 - page 33 sur 53

Classification Bayésienne probabiliste I Méthode simple et intuitive basée sur le théorème de Bayes P(H E) = P(E H)P(H) P(E) Ou H est l hypothèse à tester et E l évidence associée à H, P(H) est une probabilité a priori Calcul des probabilités conditionnelles à partir des instances P(E H) P(outlook : sunny yes), P(windy : TRUE yes),... P(H) P(yes), P(no) 04 jan 2012 / Rév. 1 - page 34 sur 53

Classification Bayésienne probabiliste II @data sunny,hot,high,false,no sunny,hot,high,true,no overcast,hot,high,false,yes rainy,mild,high,false,yes rainy,cool,normal,false,yes rainy,cool,normal,true,no overcast,cool,normal,true,yes sunny,mild,high,false,no sunny,cool,normal,false,yes rainy,mild,normal,false,yes sunny,mild,normal,true,yes overcast,mild,high,true,yes overcast,hot,normal,false,yes rainy,mild,high,true,no P(outlook : sunny yes) = 2/9 P(outlook : sunny no) = 3/5 P(windy : TRUE yes) = 3/9... P(yes) = 9/14 P(no) = 5/14 04 jan 2012 / Rév. 1 - page 35 sur 53

Classification Bayésienne probabiliste (2) Outlook Temperature Humidity Windy Play value yes no value yes no value yes no value yes no yes no sunny 2/9 3/5 hot 2/9 2/5 high 3/9 4/5 false 6/9 2/5 9/14 5/14 overcast 4/9 0/5 mild 4/9 2/5 normal 6/9 1/5 true 3/9 3/5 rainy 3/9 2/5 cool 3/9 1/5 Un nouvel exemple arrive : ( sunny ; cool ; high ; true ;? ) 04 jan 2012 / Rév. 1 - page 36 sur 53

Classification Bayésienne probabiliste (2) Outlook Temperature Humidity Windy Play value yes no value yes no value yes no value yes no yes no sunny 2/9 3/5 hot 2/9 2/5 high 3/9 4/5 false 6/9 2/5 9/14 5/14 overcast 4/9 0/5 mild 4/9 2/5 normal 6/9 1/5 true 3/9 3/5 rainy 3/9 2/5 cool 3/9 1/5 Un nouvel exemple arrive : ( sunny ; cool ; high ; true ;? ) 04 jan 2012 / Rév. 1 - page 36 sur 53

Classification Bayésienne probabiliste (2) Outlook Temperature Humidity Windy Play value yes no value yes no value yes no value yes no yes no sunny 2/9 3/5 hot 2/9 2/5 high 3/9 4/5 false 6/9 2/5 9/14 5/14 overcast 4/9 0/5 mild 4/9 2/5 normal 6/9 1/5 true 3/9 3/5 rainy 3/9 2/5 cool 3/9 1/5 Un nouvel exemple arrive : ( sunny ; cool ; high ; true ;? ) Vraisemblance de yes : 2/9 3/9 3/9 3/9 9/14 = 0.0053 04 jan 2012 / Rév. 1 - page 36 sur 53

Classification Bayésienne probabiliste (2) Outlook Temperature Humidity Windy Play value yes no value yes no value yes no value yes no yes no sunny 2/9 3/5 hot 2/9 2/5 high 3/9 4/5 false 6/9 2/5 9/14 5/14 overcast 4/9 0/5 mild 4/9 2/5 normal 6/9 1/5 true 3/9 3/5 rainy 3/9 2/5 cool 3/9 1/5 Un nouvel exemple arrive : ( sunny ; cool ; high ; true ;? ) Vraisemblance de yes : 2/9 3/9 3/9 3/9 9/14 = 0.0053 Vraisemblance de no : 3/5 1/5 4/5 3/5 5/14 = 0.0206 04 jan 2012 / Rév. 1 - page 36 sur 53

Classification Bayésienne probabiliste (2) Outlook Temperature Humidity Windy Play value yes no value yes no value yes no value yes no yes no sunny 2/9 3/5 hot 2/9 2/5 high 3/9 4/5 false 6/9 2/5 9/14 5/14 overcast 4/9 0/5 mild 4/9 2/5 normal 6/9 1/5 true 3/9 3/5 rainy 3/9 2/5 cool 3/9 1/5 Un nouvel exemple arrive : ( sunny ; cool ; high ; true ;? ) Vraisemblance de yes : 2/9 3/9 3/9 3/9 9/14 = 0.0053 Vraisemblance de no : 3/5 1/5 4/5 3/5 5/14 = 0.0206 Les nombres peuvent être changés en probabilités Probabilité de yes = 0.0053 / (0.0053 + 0.0206) = 20.5% Probabilité de no = 0.0206 / (0.0053 + 0.0206) = 79.5% 04 jan 2012 / Rév. 1 - page 36 sur 53

Classification Bayésienne probabiliste (3) Méthode simple et intuitive basée sur le théorème de Bayes P(H E) = P(E H)P(H) P(E) Ou H est l hypothèse à tester et E l évidence associée à H, P(H) est une probabilité a priori Reprise de l exemple précédent outlook : sunny ; temperature : cool ; humidity : high ; windy : true P(yes E) = P(sunny yes) P(cool yes) P(high yes) P(true yes) P(yes) P(E) P(yes E) = 2/9 3/9 3/9 3/9 9/14 P(E) 04 jan 2012 / Rév. 1 - page 37 sur 53

Plan Préambule Introduction Traitement des données Classification Les algorithmes de classification dans Weka Les méthodes de base Règles de classification Classification Bayésienne probabiliste Les arbres de décision Entraînement et sauvegarde des modèles dans Weka Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 38 sur 53

Les arbres de décision Processus récursif Sélectionner un attribut en noeud racine et ajouter une branche pour chacune des valeurs possibles Répéter le processus pour chaque branche, utilisant uniquement les attributs qui atteignent la branche Quel attribut choisir? Celui qui divise de la manière la plus pure mesure de pureté 04 jan 2012 / Rév. 1 - page 39 sur 53

Les arbres de décision Processus récursif Sélectionner un attribut en noeud racine et ajouter une branche pour chacune des valeurs possibles Répéter le processus pour chaque branche, utilisant uniquement les attributs qui atteignent la branche Quel attribut choisir? Celui qui divise de la manière la plus pure mesure de pureté 04 jan 2012 / Rév. 1 - page 39 sur 53

Les arbres de décision Processus récursif Sélectionner un attribut en noeud racine et ajouter une branche pour chacune des valeurs possibles Répéter le processus pour chaque branche, utilisant uniquement les attributs qui atteignent la branche Quel attribut choisir? Celui qui divise de la manière la plus pure mesure de pureté 04 jan 2012 / Rév. 1 - page 39 sur 53

Classification J48 dans Weka 04 jan 2012 / Rév. 1 - page 40 sur 53

Plan Préambule Introduction Traitement des données Classification Les algorithmes de classification dans Weka Les méthodes de base Entraînement et sauvegarde des modèles dans Weka Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 41 sur 53

Entraînement et sauvegarde des modèles (1) 04 jan 2012 / Rév. 1 - page 42 sur 53

Entraînement et sauvegarde des modèles (2) L option -t spécifie l ensemble de données d entraînement et -d permet de sauvegarder le modèle construit java weka.classifiers.trees.j48 -t train.arff -d j48.model L option -l permet de charger un modèle sauvegardé et -T spécifie l ensemble de données de test java weka.classifiers.trees.j48 -l j48.model -T test.arff Chaque classifieur a un format de modèle binaire différent, un modèle ne pourra être lu que par le même classifieur 04 jan 2012 / Rév. 1 - page 43 sur 53

Entraînement et sauvegarde des modèles (3) Weka contient de très nombreux algorithmes de classification regroupés en catégories : bayes, functions, rules, trees, etc. Attention : il faut installer LibSVM pour que Weka puisse l utiliser Démonstration 3 Entraînement de modèles simples (Explorer) Sauvegarde/chargement des modèles Présentation d Akinator (arbre de recherche) 04 jan 2012 / Rév. 1 - page 44 sur 53

Plan Préambule Introduction Traitement des données Classification Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 45 sur 53

Mesures de performance Matrice de confusion classe réelle oui classe prédite non oui vrai positif (TP) faux negatif (FN) non faux positif (FP) vrai negatif (TN) Calcul des mesures classiques Précision = TP TP + FP Rappel = TP TP + FN f-mesure = 2 P R (P + R) Les erreurs n ont pas toutes le même impact : matrice de coût 04 jan 2012 / Rév. 1 - page 46 sur 53

Découpage des données Situation idéale : grand ensemble de données d entraînement et ensemble de données de test distinct Découpage des données en deux sous-ensembles Ensemble d entraînement (e.g. 66%) Ensemble de test (e.g. 33%) Validation croisée en n strates Partitionnement en n sous-ensembles n 1 sous-ensembles utilisé en entraînement et 1 pour le test Processus répété n fois (un par partitionnement) 04 jan 2012 / Rév. 1 - page 47 sur 53

Découpage des données avec l Explorer 04 jan 2012 / Rév. 1 - page 48 sur 53

Évaluation du modèle avec l Explorer 04 jan 2012 / Rév. 1 - page 49 sur 53

Découpage des données en CLI L option -T spécifie l ensemble de données de test et -i permet d afficher les informations de précision/rappel et f-mesure java weka.classifiers.trees.j48 -i -l j48.model -T weather.arff L option -split-percentage détermine le pourcentage de données qui sera utilisé pour le découpage train/test java weka.classifiers.trees.j48 -t train.arff -split-percentage 66 L option -x détermine le nombre de strates pour la validation croisée, fonctionne uniquement si -T est absent java weka.classifiers.trees.j48 -t train.arff -x 10 04 jan 2012 / Rév. 1 - page 50 sur 53

Les différentes options de test de Weka Weka fournit un ensemble d options permettant d évaluer la qualité des modèles appris Être constant dans les paramètres d évaluation afin de pouvoir comparer les différentes méthodes Démonstration 4 Présentation des sorties par défaut Découpage 66/33 et validation croisée 04 jan 2012 / Rév. 1 - page 51 sur 53

Plan Préambule Introduction Traitement des données Classification Évaluation de l apprentissage Conclusion 04 jan 2012 / Rév. 1 - page 52 sur 53

Conclusion Aperçu des fonctionnalités de classification de Weka Présentation des méthodes de classification de base Toujours essayer la méthode la plus simple Être très rigoureux avec l évaluation des modèles Lecture conseillée de Data Mining par Witten & Frank Site web du cours http://www.florianboudin.org/cours/weka/ 04 jan 2012 / Rév. 1 - page 53 sur 53