SlideShare une entreprise Scribd logo
FDD et Arbres de Décision
Christelle Scharff
IFI
Juin 2004
Généralités
3
Arbres de décision
 Une structure de données utilisée comme modèle pour la
classification [Quinlan]
 Méthode récursive basée sur diviser-pour-régner pour créer des
sous-groupes (plus) purs (un sous-groupe est pur lorsque tous les
éléments du sous-groupe appartiennent à la même classe)
 Construction du plus petit arbre de décision possible
 Nœud = Test sur un attribut
 Une branche pour chaque valeur d’un attribut
 Les feuilles désignent la classe de l’objet à classer
 Taux d’erreur: La proportion des instances qui n’appartiennent pas
à la classe majoritaire de la branche
 Problèmes: Choix de l’attribut, terminaison
4
Algorithmes
 Les deux algorithmes les plus connus et les plus
utilisés (l'un ou l'autre ou les deux sont présents dans
les environnements de fouille de données) sont CART
(Classification And Regression Trees [BFOS84]) et C5
(version la plus récente après ID3 et C4.5 [Qui93]).
 [BFOS84] L. Breiman, J. H. Friedman, R. A. Olshen,
and C. J. Stone. Classification and regression trees.
Technical report, Wadsworth International, Monterey,
CA, 1984.
 [Qui93] J. R. Quinlan. C4.5: Programs for Machine
Learning. Morgan Kaufmann, San Mateo, CA, 1993.
5
Découpages
IRIS
Les décisions
correspondent à des
découpages des
données en
rectangles
6 I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.
Météo et match de foot
Attribut but
2 classes: yes et
no
Prédire si un
match de foot va
avoir lieu ou non
Température est
un nominal
7
2 classes: yes et no
Température est un numérique
Météo et match de foot
I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.
8
Quel attribut faut-il sélectionner?
Classe:
NO
Classe
:YES Classe
: YES
9
Arbre de décision final
Arbres de décision et règles de
classification
11
Transformations
 Arbre de décision  Règles (Évident)
– Les arbres de décision représentent une collection
d’implications
 Règles  Arbre de décision (Non évident)
 Optimisations toujours possibles
12
Arbre de décision  Règles
 Attribution d’un prêt suivant la moyenne des soldes
courants (MS), l’age et la possession d’autres comptes
If MS > 5000 then Pret = Yes
If MS <= 5000 and age <= 25 then
Pret = No
If MS <= 5000 and age > 25 and
autres_comptes = Yes then Pret = Yes
If MS <= 5000 and age > 25 and
autres_comptes = No then Pret = No
true
true
false
false
false
true
13
Représentation d’une expression
par un arbre de décision
 Certaines fonctions ne sont pas facilement
représentées par des arbres de décision
 Exemple:
– La fonction paire définie par: le résultat est vrai si le nombre
d’attributs est pair
 Toute formule de la logique propositionnelle peut être
représentée par un arbre de décision
– La logique propositionnelle est construite à partir de:
 Variables propositionnelles
 D’opérateurs logiques: and, or, not,  (implication), 
(équivalence)
14
Règles  Arbre de décision
 Exemple:
if X and Y then A
if X and W and V then B
if Y and V then A
Peuvent être représentées par un arbre de décision.
De plus, Les règles peuvent être combinées en:
if Y and (X or V) then A
if X and W and V then B
Et on obtient un autre arbre de décision de ces 2
règles.
15
Le ou exclusif (XOR)
16
Un arbre de décision pour deux
règles simples
If a and b then x
If c and d then x
Il y a une
duplication d’un
sous-arbre dans
l’arbre
17
Un autre arbre avec duplication
Algorithme
19
Pour quels types de données?
 On se restreint d’abord aux données
nominales seulement
 Extension aux numériques:
– Il est possible de traiter les numériques en les
transformant en nominaux (ou ordinaux) par
discrétisation
20
Algorithme
 On considère un nœud
 On sélectionne un attribut pour ce nœud
 On crée une branche pour chaque valeur de
cet attribut
 Pour chaque branche, on regarde la pureté de
la classe obtenue
 On décide si on termine la branche ou non
 Si on ne termine pas le processus est répété
21
Algorithme
algorithm LearnDecisionTree(examples, attributes, default) returns a décision tree
inputs: examples, a set of examples
attributes, a set of attributes
default, default value for goal attribute
if examples is empty then return leaf labeled by default
else if all examples have same value for goal attribute // pure class
then return leaf labeled by value
else
bestatt = ChooseAttribute(attributes, examples) // to be defined
tree = a new décision tree with root test bestatt
for each value vi of bestatt do
examplesi = {éléments of examples with best = vi}
subtree = LearnDecisionTree(examplesi, attributes – bestatt,
MajorityValue(examples))
add a branch to tree with label vi and subtree subtree
return tree
MajorityValue: classe
majoritaire
22
Analyse de l’algorithme
 m : le nombre d’attributs
 n : le nombre d’exemples/instances
 Hypothèse: La hauteur de l’arbre est O(log n)
 A chaque niveau de l’arbre, n instances sont
considérées (best = vi) (pire des cas)
– O(n log n) pour un attribut dans l’arbre complet
 Coût total: O(m n log n) car tous les attributs
sont considérés (pire des cas)
23
Combien d’arbres de décision?
 Considérons m attributs booléens (ne contenant pas le
but)
 Nous pouvons construire un arbre de décision pour
chaque fonction booléenne avec m attributs
 Il y a 2m façons de donner des valeurs aux attributs
 Le nombre de fonctions est le nombre de sous-
ensembles dans un ensemble à m éléments
 Donc, il y a 22m
arbres de décision possibles.
 Comment sélectionner le meilleur?
24
Théorie de l’information
 Besoin d’une méthode pour bien choisir l’attribut
[Shannon & Weaver, 1949]
 Mesure de l’information en bits (pas dans le sens
ordinaire de bit – 0 ou 1)
– L’information peut être un décimal
 A chaque étape,à chaque point de choix dans l’arbre,
on va calculer le gain d’information
– L’attribut avec le plus grand gain d’information est sélectionné
 Méthode ID3 pour la construction de l’arbre de
décision
25
Terminaison
 Tous les attributs ont été considérés
 Il n’est plus possible d’obtenir de gain
d’information
 Les feuilles contiennent un nombre prédéfini
d’éléments majoritaires
 Le maximum de pureté a été atteint
– Toutes les instances sont dans la même
classe
 L’arbre a atteint une hauteur maximum
26 I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.
Exemple: Météo et match de foot
Attribut but
2 classes: yes et
no
Température est
un nominal
On veut pouvoir
décider/prédire si
un match de foot
va avoir lieu ou
pas suivant la
météo
27
Exercice
 Calculer:
– P(play = “yes”)
– P(play = “no”)
– P(play = “no” | overcast = “sunny”)
– P(play = “yes” | overcast = “sunny”)
– P(overcast = “sunny” and humidity = “high”)
28
Information = Entropie
 
2
2
1
1
2
1 log
log
2
log
1
)
,
( p
p
p
p
p
p
Entropy 


pi est la probabilité de la classe i
pi = # d’occurrences de i / total # d’occurrences
Cette formule est généralisable
29
Entropie pour 3 probabilités
 
))
,
(
)
((
)
,
(
)
,
,
(
log
log
log
2
log
1
)
,
,
(
3
2
3
3
2
2
3
2
3
2
1
3
2
1
3
3
2
2
1
1
3
2
1


























p
p
p
p
p
p
Entropy
p
p
p
p
p
Entropy
p
p
p
Entropy
p
p
p
p
p
p
p
p
p
Entropy
Propriété de l’entropie
30
Première étape: Information Outlook
 
bits
Info
Info
Entropy
Info
Entropy
Info
971
.
0
])
3
,
2
([
)
6
.
0
log(
6
.
0
)
4
.
0
log(
4
.
0
2
log
1
])
3
,
2
([
)
6
.
0
,
4
.
0
(
])
3
,
2
([
5
3
,
5
2
])
3
,
2
([












bits
Info
bits
Info
971
.
0
])
2
,
3
([
0
.
0
])
0
,
4
([


Similarly:
Outlook =
“Sunny”
Outlook =
“Overcast”
Outlook =
“Rainy”
31
outlook
yes
yes
no
no
no
yes
yes
yes
yes
yes
yes
yes
no
no
sunny overcast rainy
info([2,3]) info([4,0]) info([3,2])
0.971 0.0 0.971
32
Information pour l’arbre
])
2
,
3
([
14
5
])
0
,
4
([
14
4
])
3
,
2
([
14
5
])
2
,
3
[
],
0
,
4
[
],
3
,
2
([ Info
Info
Info
Info 


La valeur de l’information pour l’arbre après
branchement est la somme pondérée des informations
de l’attribut de branchement.
Le poids est la fraction des instances dans chaque
branche.
Info([2,3],[4,0],[3,2]) = 0.693
Information pour l’arbre complet après le choix de
Outlook:
33
Information sans utiliser l’arbre
bits
Info
Entropy
Info
940
.
0
])
5
,
9
([
14
5
,
14
9
])
5
,
9
([








Outlook
34
Gain d’information pour Outlook
bits
outlook
gain
outlook
gain
Info
Info
outlook
gain
247
.
0
)
(
693
.
0
940
.
0
)
(
])
2
,
3
[
],
0
,
4
[
],
3
,
2
([
])
5
,
9
([
)
(





De même:
bits
windy
gain
bits
humidity
gain
bits
e
temperatur
gain
048
.
0
)
(
152
.
0
)
(
029
.
0
)
(



Outlook est
choisi
35
Étape suivante
 Sélection d’un deuxième attribut
 On peut examiner:
– Température, Humidity ou Windy pour Outlook =
“sunny”
– Gain(“Température”) = 0.571 bits
– Gain(“Humidity”) = 0.971 bits
– Gain(“Windy”) = 0.020 bits
 Et on continue…
Humidity est choisi
36
Choix du deuxième attribut
37
Arbre de décision final
38
Problèmes lies au calcul du gain
 Les attributs qui ont de nombreuses valeurs possibles
sont privilégiés
– Exemple: Les attributs clés
 Pour corriger ce problème, on utilise une autre mesure
le rapport de gain (gain ratio)
– Calcul de l’information de branchement dans l’arbre en
utilisant:
Original Gain / Information de branchement
– Choisir l’attribut avec le plus grand rapport de gain
39
Information de branchement
577
.
1
])
5
,
4
,
5
([
14
5
,
14
4
,
14
5
])
5
,
4
,
5
([








Info
Entropy
Info
Première étape:
40
Calcul des gains de rapport
I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.
Outlook est choisi
41
Évaluer les arbres de décision
 2 types d’évaluation
– Les performances d’un modèle
– Les performances de la technique de FDD
 Quelle mesure utiliser?
– Taille du modèle
– Nombre d’erreurs
42
Extensions de l’algorithme
 Comment traiter:
– Les attributs numériques
– Les valeurs manquantes
 Comment simplifier le modèle pour éviter les
bruits?
 Comment tolérer les bruits?
 Comment interpréter les arbres de décision?
43
Comment traiter les attributs
numériques?
 Les attributs numériques sont transformés en ordinaux
/ nominaux. Ce processus est appelé discrétisation
 Les valeurs des attributs sont divisées en intervalles
– Les valeurs des attributs sont triées
– Des séparations sont placées pour créer des intervalles /
classes pur/e/s
– On détermine les valeurs des attributs qui impliquent un
changement de classes
 Ce processus est très sensible au bruit
 Le nombre de classes doit être contrôlé
– Solution: On spécifie un nombre minimum d’éléments par
intervalle
– On combine les intervalles qui définissent la même classe
44
Exemple: Les températures
 Étape 1: Tri et création des intervalles
64 | 65 | 68 69 70 | 71 72 | 72 75 75 | 80 | 81 83 | 85
Y | N | Y Y Y | N N | Y Y Y | N | Y Y | N
 Étape 2: Les anomalies sont traitées
64 | 65 | 68 69 70 | 71 72 72 | 75 75 | 80 | 81 83 | 85
Y | N | Y Y Y | N N Y | Y Y | N | Y Y | N
8 intervalles
 Étape 3: Un minimum de 3 éléments (de la même classe) par intervalle
64 65 68 69 70 | 71 72 72 75 75 | 80 81 83 85
Y N Y Y Y | N N Y Y Y | N Y Y N
3 intervalles
 Étape 4: Combiner les intervalles
64 65 68 69 70 71 72 72 75 75 | 80 81 83 85
Y N Y Y Y N N Y Y Y | N Y Y N
2 intervalles
 Étape 5: Changement de classe pour une température de 77.5 ((75 + 80) / 2)
45
Exercice
 Faire de même pour les humidités suivantes:
65 70 70 70 75 80 80 85 86 90 90 91 95 96
Y N Y Y Y Y Y N Y N Y N N Y
46
Arbre à un niveau
47
Les valeurs manquantes
 Ignorer les instances avec des valeurs manquantes
– Solution trop générale, et les valeurs manquantes peuvent ne
pas être importantes
 Ignorer les attributs avec des valeurs manquantes
– Peut-être pas faisable
 Traiter les valeurs manquantes comme des valeurs
spéciales
– Les valeurs manquantes ont un sens particulier
 Estimer les valeurs manquantes
– Donner la valeur de l’attribut la plus répandue à l’attribut
considéré
– Imputation de données en utilisant diverses méthodes
 Exemple : régression.
48
Surapprentissage (Overfitting)
 Adaptation et généralisation du modèle
 Résultats sur l’ensemble d’entraînement et sur
l’ensemble test
49
Simplification de l’arbre de
décision
 Pour lutter contre l’overtiffing on peut simplifier
l’arbre
 Simplification avant
– Simplifier étape par étape pendant la construction
de l’arbre de décision
 Simplification arrière
– Simplification d’un arbre de décision existant
50
Interprétation des arbres de
décision
 Une description adaptée et lisible par tout le
monde
En général, les personnes astigmates doivent avoir
une prescription de lentilles de contacte dures.
51
La méthode
 Apprentissage supervisé
 Le résultat est lisible
– Outils de navigation dans l’arbre
 Les valeurs manquantes peuvent être traitées
 Tous les types d’attributs peuvent être pris en compte
 Elle peut être utilisée comme près traitement
 La classification d’un exemple est très efficace
 Moins efficace pour un nombre important de classes
 Elle n’est pas incrémentale
52
Références
 http://www.grappa.univ-lille3.fr/polys/fouille/
 I. H. Witten, and E. Frank. Data Mining :
Practical Machine Learning Tools and
Techniques with Java Implementations.
Morgan Kaufmann.

Contenu connexe

Tendances

Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
Donia Hammami
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
Mohamed Heny SELMI
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
Niji
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
Lilia Sfaxi
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
Mohamed Heny SELMI
 
Data mining - Associativité
Data mining - AssociativitéData mining - Associativité
Data mining - Associativité
Mohamed Heny SELMI
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdf
hanamettali
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
Boris Guarisma
 
Arbre de décision
Arbre de décisionArbre de décision
Arbre de décision
Yassine Badri
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learning
Hakim Nasaoui
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
Lilia Sfaxi
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisins
Boris Guarisma
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniques
Ismail CHAIB
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentation
Donia Hammami
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes Principales
Mohamed Heny SELMI
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
webreaker
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehouse
khlifi z
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
Aziz Darouichi
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
Lilia Sfaxi
 

Tendances (20)

Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
 
Data mining - Associativité
Data mining - AssociativitéData mining - Associativité
Data mining - Associativité
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdf
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
 
Arbre de décision
Arbre de décisionArbre de décision
Arbre de décision
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learning
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisins
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniques
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentation
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes Principales
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehouse
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 

Similaire à arbres de decision.ppt

les arbres de décision ou de régression
les arbres de décision ou de régression les arbres de décision ou de régression
les arbres de décision ou de régression
Mariem Chaaben
 
Data Mining
Data MiningData Mining
test
testtest
test
dehbimoad
 
Analyzing a churn data set
Analyzing a churn data set Analyzing a churn data set
Analyzing a churn data set
Rasoul Baharifard
 
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Ippon
 
Data Mining (Partie 3).pdf
Data Mining (Partie 3).pdfData Mining (Partie 3).pdf
Data Mining (Partie 3).pdf
OuailChoukhairi
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbre
ECAM Brussels Engineering School
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
ENSET, Université Hassan II Casablanca
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
Wafaa Ibrihich
 
Les algorithmes de génération des règles d association
Les algorithmes de génération des règles d associationLes algorithmes de génération des règles d association
Les algorithmes de génération des règles d association
Hajer Trabelsi
 
Les algorithmes de génération des règles d association
Les algorithmes de génération des règles d associationLes algorithmes de génération des règles d association
Les algorithmes de génération des règles d association
Hajer Trabelsi
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdf
nesrinetaamallah
 
Machine Leargning_supérvisé.pptx
Machine Leargning_supérvisé.pptxMachine Leargning_supérvisé.pptx
Machine Leargning_supérvisé.pptx
bely26
 
Xavier Milaud - Techniques d'arbres de classification et de régression
Xavier Milaud - Techniques d'arbres de classification et de régressionXavier Milaud - Techniques d'arbres de classification et de régression
Xavier Milaud - Techniques d'arbres de classification et de régressionKezhan SHI
 
ALT.NET Modéliser Parallèle avec C# 4.0
ALT.NET Modéliser Parallèle avec C# 4.0ALT.NET Modéliser Parallèle avec C# 4.0
ALT.NET Modéliser Parallèle avec C# 4.0
Bruno Boucard
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretjfeudeline
 
Cours ML et Deep Learning M2 2022-2023.pdf
Cours ML et Deep Learning M2 2022-2023.pdfCours ML et Deep Learning M2 2022-2023.pdf
Cours ML et Deep Learning M2 2022-2023.pdf
UrbainNgatoua
 
Etude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMEtude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVM
SamirAwad14
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
Sana Aroussi
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
Abdelghafour Zguindou
 

Similaire à arbres de decision.ppt (20)

les arbres de décision ou de régression
les arbres de décision ou de régression les arbres de décision ou de régression
les arbres de décision ou de régression
 
Data Mining
Data MiningData Mining
Data Mining
 
test
testtest
test
 
Analyzing a churn data set
Analyzing a churn data set Analyzing a churn data set
Analyzing a churn data set
 
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...
 
Data Mining (Partie 3).pdf
Data Mining (Partie 3).pdfData Mining (Partie 3).pdf
Data Mining (Partie 3).pdf
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbre
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
 
Les algorithmes de génération des règles d association
Les algorithmes de génération des règles d associationLes algorithmes de génération des règles d association
Les algorithmes de génération des règles d association
 
Les algorithmes de génération des règles d association
Les algorithmes de génération des règles d associationLes algorithmes de génération des règles d association
Les algorithmes de génération des règles d association
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdf
 
Machine Leargning_supérvisé.pptx
Machine Leargning_supérvisé.pptxMachine Leargning_supérvisé.pptx
Machine Leargning_supérvisé.pptx
 
Xavier Milaud - Techniques d'arbres de classification et de régression
Xavier Milaud - Techniques d'arbres de classification et de régressionXavier Milaud - Techniques d'arbres de classification et de régression
Xavier Milaud - Techniques d'arbres de classification et de régression
 
ALT.NET Modéliser Parallèle avec C# 4.0
ALT.NET Modéliser Parallèle avec C# 4.0ALT.NET Modéliser Parallèle avec C# 4.0
ALT.NET Modéliser Parallèle avec C# 4.0
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caret
 
Cours ML et Deep Learning M2 2022-2023.pdf
Cours ML et Deep Learning M2 2022-2023.pdfCours ML et Deep Learning M2 2022-2023.pdf
Cours ML et Deep Learning M2 2022-2023.pdf
 
Etude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMEtude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVM
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 

Dernier

Alternative - Complément au Tramway et 3 ème lien de la ville de Quebec (PDF)
Alternative - Complément au Tramway  et 3 ème lien de la ville de Quebec (PDF)Alternative - Complément au Tramway  et 3 ème lien de la ville de Quebec (PDF)
Alternative - Complément au Tramway et 3 ème lien de la ville de Quebec (PDF)
Daniel Bedard
 
PROVINLAIT - Bâtiment et bien-être estival
PROVINLAIT - Bâtiment et bien-être estivalPROVINLAIT - Bâtiment et bien-être estival
PROVINLAIT - Bâtiment et bien-être estival
idelewebmestre
 
Rénovation des prairies sans labour est-ce possible en bio.pdf
Rénovation des prairies sans labour est-ce possible en bio.pdfRénovation des prairies sans labour est-ce possible en bio.pdf
Rénovation des prairies sans labour est-ce possible en bio.pdf
idelewebmestre
 
04_UMT STAR_Étude de nouveaux caractères en lien avec la santé et le bien-êtr...
04_UMT STAR_Étude de nouveaux caractères en lien avec la santé et le bien-êtr...04_UMT STAR_Étude de nouveaux caractères en lien avec la santé et le bien-êtr...
04_UMT STAR_Étude de nouveaux caractères en lien avec la santé et le bien-êtr...
Institut de l'Elevage - Idele
 
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Alternative - Complément  au Tramway et 3ème lien de la ville de Québec  Alternative - Complément  au Tramway et 3ème lien de la ville de Québec
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Daniel Bedard
 
05_UMT STAR_Vers une indexation de la longévité fonctionnelle en ovin lait
05_UMT STAR_Vers une indexation de la longévité fonctionnelle en ovin lait05_UMT STAR_Vers une indexation de la longévité fonctionnelle en ovin lait
05_UMT STAR_Vers une indexation de la longévité fonctionnelle en ovin lait
Institut de l'Elevage - Idele
 
QCM de révision pour la haute qualité.pdf
QCM de révision pour la haute qualité.pdfQCM de révision pour la haute qualité.pdf
QCM de révision pour la haute qualité.pdf
ffffourissou
 
01_UMT STAR_étude de la résilience et des compromis entre résilience et effic...
01_UMT STAR_étude de la résilience et des compromis entre résilience et effic...01_UMT STAR_étude de la résilience et des compromis entre résilience et effic...
01_UMT STAR_étude de la résilience et des compromis entre résilience et effic...
Institut de l'Elevage - Idele
 
Note Agro-climatique et prairies n°4 - Juin 2024
Note Agro-climatique et prairies n°4 - Juin 2024Note Agro-climatique et prairies n°4 - Juin 2024
Note Agro-climatique et prairies n°4 - Juin 2024
idelewebmestre
 
02_UMT STAR_un nouveau biomarqueur de résilience basé sur les métabolites du ...
02_UMT STAR_un nouveau biomarqueur de résilience basé sur les métabolites du ...02_UMT STAR_un nouveau biomarqueur de résilience basé sur les métabolites du ...
02_UMT STAR_un nouveau biomarqueur de résilience basé sur les métabolites du ...
Institut de l'Elevage - Idele
 
03_UMT STAR_compromis entre résistance au parasitisme et efficience alimentai...
03_UMT STAR_compromis entre résistance au parasitisme et efficience alimentai...03_UMT STAR_compromis entre résistance au parasitisme et efficience alimentai...
03_UMT STAR_compromis entre résistance au parasitisme et efficience alimentai...
Institut de l'Elevage - Idele
 

Dernier (11)

Alternative - Complément au Tramway et 3 ème lien de la ville de Quebec (PDF)
Alternative - Complément au Tramway  et 3 ème lien de la ville de Quebec (PDF)Alternative - Complément au Tramway  et 3 ème lien de la ville de Quebec (PDF)
Alternative - Complément au Tramway et 3 ème lien de la ville de Quebec (PDF)
 
PROVINLAIT - Bâtiment et bien-être estival
PROVINLAIT - Bâtiment et bien-être estivalPROVINLAIT - Bâtiment et bien-être estival
PROVINLAIT - Bâtiment et bien-être estival
 
Rénovation des prairies sans labour est-ce possible en bio.pdf
Rénovation des prairies sans labour est-ce possible en bio.pdfRénovation des prairies sans labour est-ce possible en bio.pdf
Rénovation des prairies sans labour est-ce possible en bio.pdf
 
04_UMT STAR_Étude de nouveaux caractères en lien avec la santé et le bien-êtr...
04_UMT STAR_Étude de nouveaux caractères en lien avec la santé et le bien-êtr...04_UMT STAR_Étude de nouveaux caractères en lien avec la santé et le bien-êtr...
04_UMT STAR_Étude de nouveaux caractères en lien avec la santé et le bien-êtr...
 
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Alternative - Complément  au Tramway et 3ème lien de la ville de Québec  Alternative - Complément  au Tramway et 3ème lien de la ville de Québec
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
 
05_UMT STAR_Vers une indexation de la longévité fonctionnelle en ovin lait
05_UMT STAR_Vers une indexation de la longévité fonctionnelle en ovin lait05_UMT STAR_Vers une indexation de la longévité fonctionnelle en ovin lait
05_UMT STAR_Vers une indexation de la longévité fonctionnelle en ovin lait
 
QCM de révision pour la haute qualité.pdf
QCM de révision pour la haute qualité.pdfQCM de révision pour la haute qualité.pdf
QCM de révision pour la haute qualité.pdf
 
01_UMT STAR_étude de la résilience et des compromis entre résilience et effic...
01_UMT STAR_étude de la résilience et des compromis entre résilience et effic...01_UMT STAR_étude de la résilience et des compromis entre résilience et effic...
01_UMT STAR_étude de la résilience et des compromis entre résilience et effic...
 
Note Agro-climatique et prairies n°4 - Juin 2024
Note Agro-climatique et prairies n°4 - Juin 2024Note Agro-climatique et prairies n°4 - Juin 2024
Note Agro-climatique et prairies n°4 - Juin 2024
 
02_UMT STAR_un nouveau biomarqueur de résilience basé sur les métabolites du ...
02_UMT STAR_un nouveau biomarqueur de résilience basé sur les métabolites du ...02_UMT STAR_un nouveau biomarqueur de résilience basé sur les métabolites du ...
02_UMT STAR_un nouveau biomarqueur de résilience basé sur les métabolites du ...
 
03_UMT STAR_compromis entre résistance au parasitisme et efficience alimentai...
03_UMT STAR_compromis entre résistance au parasitisme et efficience alimentai...03_UMT STAR_compromis entre résistance au parasitisme et efficience alimentai...
03_UMT STAR_compromis entre résistance au parasitisme et efficience alimentai...
 

arbres de decision.ppt

  • 1. FDD et Arbres de Décision Christelle Scharff IFI Juin 2004
  • 3. 3 Arbres de décision  Une structure de données utilisée comme modèle pour la classification [Quinlan]  Méthode récursive basée sur diviser-pour-régner pour créer des sous-groupes (plus) purs (un sous-groupe est pur lorsque tous les éléments du sous-groupe appartiennent à la même classe)  Construction du plus petit arbre de décision possible  Nœud = Test sur un attribut  Une branche pour chaque valeur d’un attribut  Les feuilles désignent la classe de l’objet à classer  Taux d’erreur: La proportion des instances qui n’appartiennent pas à la classe majoritaire de la branche  Problèmes: Choix de l’attribut, terminaison
  • 4. 4 Algorithmes  Les deux algorithmes les plus connus et les plus utilisés (l'un ou l'autre ou les deux sont présents dans les environnements de fouille de données) sont CART (Classification And Regression Trees [BFOS84]) et C5 (version la plus récente après ID3 et C4.5 [Qui93]).  [BFOS84] L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone. Classification and regression trees. Technical report, Wadsworth International, Monterey, CA, 1984.  [Qui93] J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, San Mateo, CA, 1993.
  • 5. 5 Découpages IRIS Les décisions correspondent à des découpages des données en rectangles
  • 6. 6 I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000. Météo et match de foot Attribut but 2 classes: yes et no Prédire si un match de foot va avoir lieu ou non Température est un nominal
  • 7. 7 2 classes: yes et no Température est un numérique Météo et match de foot I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.
  • 8. 8 Quel attribut faut-il sélectionner? Classe: NO Classe :YES Classe : YES
  • 10. Arbres de décision et règles de classification
  • 11. 11 Transformations  Arbre de décision  Règles (Évident) – Les arbres de décision représentent une collection d’implications  Règles  Arbre de décision (Non évident)  Optimisations toujours possibles
  • 12. 12 Arbre de décision  Règles  Attribution d’un prêt suivant la moyenne des soldes courants (MS), l’age et la possession d’autres comptes If MS > 5000 then Pret = Yes If MS <= 5000 and age <= 25 then Pret = No If MS <= 5000 and age > 25 and autres_comptes = Yes then Pret = Yes If MS <= 5000 and age > 25 and autres_comptes = No then Pret = No true true false false false true
  • 13. 13 Représentation d’une expression par un arbre de décision  Certaines fonctions ne sont pas facilement représentées par des arbres de décision  Exemple: – La fonction paire définie par: le résultat est vrai si le nombre d’attributs est pair  Toute formule de la logique propositionnelle peut être représentée par un arbre de décision – La logique propositionnelle est construite à partir de:  Variables propositionnelles  D’opérateurs logiques: and, or, not,  (implication),  (équivalence)
  • 14. 14 Règles  Arbre de décision  Exemple: if X and Y then A if X and W and V then B if Y and V then A Peuvent être représentées par un arbre de décision. De plus, Les règles peuvent être combinées en: if Y and (X or V) then A if X and W and V then B Et on obtient un autre arbre de décision de ces 2 règles.
  • 16. 16 Un arbre de décision pour deux règles simples If a and b then x If c and d then x Il y a une duplication d’un sous-arbre dans l’arbre
  • 17. 17 Un autre arbre avec duplication
  • 19. 19 Pour quels types de données?  On se restreint d’abord aux données nominales seulement  Extension aux numériques: – Il est possible de traiter les numériques en les transformant en nominaux (ou ordinaux) par discrétisation
  • 20. 20 Algorithme  On considère un nœud  On sélectionne un attribut pour ce nœud  On crée une branche pour chaque valeur de cet attribut  Pour chaque branche, on regarde la pureté de la classe obtenue  On décide si on termine la branche ou non  Si on ne termine pas le processus est répété
  • 21. 21 Algorithme algorithm LearnDecisionTree(examples, attributes, default) returns a décision tree inputs: examples, a set of examples attributes, a set of attributes default, default value for goal attribute if examples is empty then return leaf labeled by default else if all examples have same value for goal attribute // pure class then return leaf labeled by value else bestatt = ChooseAttribute(attributes, examples) // to be defined tree = a new décision tree with root test bestatt for each value vi of bestatt do examplesi = {éléments of examples with best = vi} subtree = LearnDecisionTree(examplesi, attributes – bestatt, MajorityValue(examples)) add a branch to tree with label vi and subtree subtree return tree MajorityValue: classe majoritaire
  • 22. 22 Analyse de l’algorithme  m : le nombre d’attributs  n : le nombre d’exemples/instances  Hypothèse: La hauteur de l’arbre est O(log n)  A chaque niveau de l’arbre, n instances sont considérées (best = vi) (pire des cas) – O(n log n) pour un attribut dans l’arbre complet  Coût total: O(m n log n) car tous les attributs sont considérés (pire des cas)
  • 23. 23 Combien d’arbres de décision?  Considérons m attributs booléens (ne contenant pas le but)  Nous pouvons construire un arbre de décision pour chaque fonction booléenne avec m attributs  Il y a 2m façons de donner des valeurs aux attributs  Le nombre de fonctions est le nombre de sous- ensembles dans un ensemble à m éléments  Donc, il y a 22m arbres de décision possibles.  Comment sélectionner le meilleur?
  • 24. 24 Théorie de l’information  Besoin d’une méthode pour bien choisir l’attribut [Shannon & Weaver, 1949]  Mesure de l’information en bits (pas dans le sens ordinaire de bit – 0 ou 1) – L’information peut être un décimal  A chaque étape,à chaque point de choix dans l’arbre, on va calculer le gain d’information – L’attribut avec le plus grand gain d’information est sélectionné  Méthode ID3 pour la construction de l’arbre de décision
  • 25. 25 Terminaison  Tous les attributs ont été considérés  Il n’est plus possible d’obtenir de gain d’information  Les feuilles contiennent un nombre prédéfini d’éléments majoritaires  Le maximum de pureté a été atteint – Toutes les instances sont dans la même classe  L’arbre a atteint une hauteur maximum
  • 26. 26 I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000. Exemple: Météo et match de foot Attribut but 2 classes: yes et no Température est un nominal On veut pouvoir décider/prédire si un match de foot va avoir lieu ou pas suivant la météo
  • 27. 27 Exercice  Calculer: – P(play = “yes”) – P(play = “no”) – P(play = “no” | overcast = “sunny”) – P(play = “yes” | overcast = “sunny”) – P(overcast = “sunny” and humidity = “high”)
  • 28. 28 Information = Entropie   2 2 1 1 2 1 log log 2 log 1 ) , ( p p p p p p Entropy    pi est la probabilité de la classe i pi = # d’occurrences de i / total # d’occurrences Cette formule est généralisable
  • 29. 29 Entropie pour 3 probabilités   )) , ( ) (( ) , ( ) , , ( log log log 2 log 1 ) , , ( 3 2 3 3 2 2 3 2 3 2 1 3 2 1 3 3 2 2 1 1 3 2 1                           p p p p p p Entropy p p p p p Entropy p p p Entropy p p p p p p p p p Entropy Propriété de l’entropie
  • 30. 30 Première étape: Information Outlook   bits Info Info Entropy Info Entropy Info 971 . 0 ]) 3 , 2 ([ ) 6 . 0 log( 6 . 0 ) 4 . 0 log( 4 . 0 2 log 1 ]) 3 , 2 ([ ) 6 . 0 , 4 . 0 ( ]) 3 , 2 ([ 5 3 , 5 2 ]) 3 , 2 ([             bits Info bits Info 971 . 0 ]) 2 , 3 ([ 0 . 0 ]) 0 , 4 ([   Similarly: Outlook = “Sunny” Outlook = “Overcast” Outlook = “Rainy”
  • 32. 32 Information pour l’arbre ]) 2 , 3 ([ 14 5 ]) 0 , 4 ([ 14 4 ]) 3 , 2 ([ 14 5 ]) 2 , 3 [ ], 0 , 4 [ ], 3 , 2 ([ Info Info Info Info    La valeur de l’information pour l’arbre après branchement est la somme pondérée des informations de l’attribut de branchement. Le poids est la fraction des instances dans chaque branche. Info([2,3],[4,0],[3,2]) = 0.693 Information pour l’arbre complet après le choix de Outlook:
  • 33. 33 Information sans utiliser l’arbre bits Info Entropy Info 940 . 0 ]) 5 , 9 ([ 14 5 , 14 9 ]) 5 , 9 ([         Outlook
  • 34. 34 Gain d’information pour Outlook bits outlook gain outlook gain Info Info outlook gain 247 . 0 ) ( 693 . 0 940 . 0 ) ( ]) 2 , 3 [ ], 0 , 4 [ ], 3 , 2 ([ ]) 5 , 9 ([ ) (      De même: bits windy gain bits humidity gain bits e temperatur gain 048 . 0 ) ( 152 . 0 ) ( 029 . 0 ) (    Outlook est choisi
  • 35. 35 Étape suivante  Sélection d’un deuxième attribut  On peut examiner: – Température, Humidity ou Windy pour Outlook = “sunny” – Gain(“Température”) = 0.571 bits – Gain(“Humidity”) = 0.971 bits – Gain(“Windy”) = 0.020 bits  Et on continue… Humidity est choisi
  • 38. 38 Problèmes lies au calcul du gain  Les attributs qui ont de nombreuses valeurs possibles sont privilégiés – Exemple: Les attributs clés  Pour corriger ce problème, on utilise une autre mesure le rapport de gain (gain ratio) – Calcul de l’information de branchement dans l’arbre en utilisant: Original Gain / Information de branchement – Choisir l’attribut avec le plus grand rapport de gain
  • 40. 40 Calcul des gains de rapport I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000. Outlook est choisi
  • 41. 41 Évaluer les arbres de décision  2 types d’évaluation – Les performances d’un modèle – Les performances de la technique de FDD  Quelle mesure utiliser? – Taille du modèle – Nombre d’erreurs
  • 42. 42 Extensions de l’algorithme  Comment traiter: – Les attributs numériques – Les valeurs manquantes  Comment simplifier le modèle pour éviter les bruits?  Comment tolérer les bruits?  Comment interpréter les arbres de décision?
  • 43. 43 Comment traiter les attributs numériques?  Les attributs numériques sont transformés en ordinaux / nominaux. Ce processus est appelé discrétisation  Les valeurs des attributs sont divisées en intervalles – Les valeurs des attributs sont triées – Des séparations sont placées pour créer des intervalles / classes pur/e/s – On détermine les valeurs des attributs qui impliquent un changement de classes  Ce processus est très sensible au bruit  Le nombre de classes doit être contrôlé – Solution: On spécifie un nombre minimum d’éléments par intervalle – On combine les intervalles qui définissent la même classe
  • 44. 44 Exemple: Les températures  Étape 1: Tri et création des intervalles 64 | 65 | 68 69 70 | 71 72 | 72 75 75 | 80 | 81 83 | 85 Y | N | Y Y Y | N N | Y Y Y | N | Y Y | N  Étape 2: Les anomalies sont traitées 64 | 65 | 68 69 70 | 71 72 72 | 75 75 | 80 | 81 83 | 85 Y | N | Y Y Y | N N Y | Y Y | N | Y Y | N 8 intervalles  Étape 3: Un minimum de 3 éléments (de la même classe) par intervalle 64 65 68 69 70 | 71 72 72 75 75 | 80 81 83 85 Y N Y Y Y | N N Y Y Y | N Y Y N 3 intervalles  Étape 4: Combiner les intervalles 64 65 68 69 70 71 72 72 75 75 | 80 81 83 85 Y N Y Y Y N N Y Y Y | N Y Y N 2 intervalles  Étape 5: Changement de classe pour une température de 77.5 ((75 + 80) / 2)
  • 45. 45 Exercice  Faire de même pour les humidités suivantes: 65 70 70 70 75 80 80 85 86 90 90 91 95 96 Y N Y Y Y Y Y N Y N Y N N Y
  • 46. 46 Arbre à un niveau
  • 47. 47 Les valeurs manquantes  Ignorer les instances avec des valeurs manquantes – Solution trop générale, et les valeurs manquantes peuvent ne pas être importantes  Ignorer les attributs avec des valeurs manquantes – Peut-être pas faisable  Traiter les valeurs manquantes comme des valeurs spéciales – Les valeurs manquantes ont un sens particulier  Estimer les valeurs manquantes – Donner la valeur de l’attribut la plus répandue à l’attribut considéré – Imputation de données en utilisant diverses méthodes  Exemple : régression.
  • 48. 48 Surapprentissage (Overfitting)  Adaptation et généralisation du modèle  Résultats sur l’ensemble d’entraînement et sur l’ensemble test
  • 49. 49 Simplification de l’arbre de décision  Pour lutter contre l’overtiffing on peut simplifier l’arbre  Simplification avant – Simplifier étape par étape pendant la construction de l’arbre de décision  Simplification arrière – Simplification d’un arbre de décision existant
  • 50. 50 Interprétation des arbres de décision  Une description adaptée et lisible par tout le monde En général, les personnes astigmates doivent avoir une prescription de lentilles de contacte dures.
  • 51. 51 La méthode  Apprentissage supervisé  Le résultat est lisible – Outils de navigation dans l’arbre  Les valeurs manquantes peuvent être traitées  Tous les types d’attributs peuvent être pris en compte  Elle peut être utilisée comme près traitement  La classification d’un exemple est très efficace  Moins efficace pour un nombre important de classes  Elle n’est pas incrémentale
  • 52. 52 Références  http://www.grappa.univ-lille3.fr/polys/fouille/  I. H. Witten, and E. Frank. Data Mining : Practical Machine Learning Tools and Techniques with Java Implementations. Morgan Kaufmann.