Khai thác dữ liệu - Cours Jean-Daniel...

20
Cours IFI M1 ©Jean-daniel Zucker /81 1 Introduction à La Fouille de Données Cours IFI M1 Data Mining Jean-Daniel Zucker Chercheur de l’IRD à UMMISCO (Modélisation Mathématiques Et Informatiques des Systèmes Complexes) UMI 209 UPMC/IRD MSI/IFI Vietnam Cours M1 IA « Systèmes Intelligents & Multimédia » Khai thác dliu Cours IFI M1 ©Jean-daniel Zucker /81 2 Administratif: 6 Séances • Séance 1: Mercredi 16 Mai – Intro Générale • Séance 2: Mercredi 23 Mai — Analyse et préparation des données • Séance 3: Mercredi 30 Mai — La regression. Le principe de l’induction. • Séance 5: Mercredi 13 Juin — Le clustering. Séance 6: Jeudi 14 Juin – Regles d’associations. 8h30 à 11h45= 3h + 15 min de pause. Les cours de déroulent dans la salle 203.

Transcript of Khai thác dữ liệu - Cours Jean-Daniel...

Page 1: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/811

Introduction à La Fouille de Données

Co

ur

s IF

I M1

Da

ta M

inin

g

Jean-Daniel Zucker

Chercheur de l’IRD à UMMISCO(Modélisation Mathématiques Et Informatiques des Systèmes Complexes)

UMI 209 UPMC/IRD

MSI/IFI Vietnam

Cours M1 IA « Systèmes Intelligents & Multimédia »

Khai thác dữ liệu

Cours IFI M1 ©Jean-daniel Zucker

/812

Administratif: 6 Séances

• Séance 1: Mercredi 16 Mai – Intro Générale

• Séance 2: Mercredi 23 Mai — Analyse et préparation des données

• Séance 3: Mercredi 30 Mai — La regression. Le principe de l’induction.

• Séance 4: Mercredi 6 Juin — Apprentissage d’arbre de décisions.

Rappel cours précédents

Arbre de décision

• Séance 5: Mercredi 13 Juin — Le clustering.

• Séance 6: Jeudi 14 Juin – Regles d’associations.

8h30 à 11h45= 3h + 15 min de pause. Les cours de déroulent dans la salle 203.

Page 2: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

Site du cours3

http://ouebe.org

Cours IFI M1 ©Jean-daniel Zucker

/81

Travaux Pratiques

• Aller sur http://ouebe.org

• Puis Promotion 16, Puis TP du cours et Révisions

4

Page 3: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

Data rich but information poor! : Besoins d’ 5

Définition: “L’exploration et l’analyse de grandes quantité de données afin de découvrir des formes et des règles significatives en utilisant des moyens automatique ou semi-automatique.”

Explorer, analyser, compacter, réduire, extraire, utiliser, ces données :

Khai thác dữ liệu (data mining) là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có.

... la fouille de donnéesthe extraction of interesting (non-trivial, implicit, previously unknown and

potentially useful) information or patterns from data in large databases

Cours IFI M1 ©Jean-daniel Zucker

/816

tâches de la fouille de données (typologie 1/2)

• Classification (valeurs discrètes): Oui/Non, 1/2/3, VND/US$/€réponse qualitative à un médicament, classification de demandeurs de crédits, détermination des numéros de fax, dépistage de demandes d’assurances frauduleuses, etc.

• L’estimation (valeurs continues): [1-10], [-1,1],[0,1000000] réponse quantitative à un médicament, du nombre d’enfants d’une famille, revenu total par ménage, probabilité de réponse à une demande, etc.

• La prédiction (pour vérifier il faut attendre): «Dans 2 jours l’action d’apple doublera», demain il fera beau, ... durée de vie d’un patient, des clients qui vont disparaître, des abonnés qui vont prendre un service, etc..

SUPE

RVI

SE

Succès de la tâche: critère de performances sur nouvelles données

Page 4: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/817

tâches de la fouille de données (typologie 2/2)

• Le regroupement par similitudes (Clustering): des patients qui ont telles mutations génétiques développent tel type d’obésité, etc.

• La recherche d’association : «95% des parents qui vont au supermarché acheter des couches (3% des achats) achètent aussi des bierres». 95% est la confiance et 3% le support (Association Rules).

• La recherche d’anomalie : «Il y a une concentration de véhicule «anormale» tous les dimanche matin à 10h près de Nga The». «L’utilisateur Hung s’est connecté depuis Singapoore alors qu’il ne l’a jamais fait avant».(Anomaly analysis)N

ON

SU

PER

VISE

Succès de la tâche: critère d’intérêt des «connaissances découvertes»

Cours IFI M1 ©Jean-daniel Zucker

/818 Le processus de Fouille de données

SélectionNettoyage

Pré-traitement

ExtractionFouille de données

Interprétation/Visualisation

supervisé non-supervisé

Les règles d’association Le regroupementPrédiction/Classification

SQL / OQLadhoc

ReformulationK. domaineRéduction Dim.

Evaluation du gain...

CART, GLM APriori

Règles,Graphes,Diag. Autocorrél.Règles, 3D, RA, VR...Paramètr

es

BD clientsBD médicales,BD génomiquesBD géographiques, BD textes,BD scientifiques,BD réseaux sociaux,BD imagesBD de simulation...

SVM, RN, ID3, RF, DTree CAH, KMEANS, KMEDOIDS

DB DB

DB

máy học thuật toán

Anomalies

Estimation

Page 5: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

Données de test et d’apprentissage

train

examples

feat

ures

Class.trainexamples

test

examples

feat

ures

Class.testexamples

Classifier

Learning

predictionComparison

performance

• On a vu: la validation croisée (cours 3)• Le leave-one-out (cours 3)

Cours IFI M1 ©Jean-daniel Zucker

/81

Classeur Bayesien naif

• Apprentissage et classification basé sur la théorie des probabilités.

• Theorème de Bayes est l’élement clé.

• Utilise les probabilité à priori de chaque classe.

• Classeur calcule une probabilité a posteriori d’un exemple pour chaque classe.

Page 6: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

Rapels de probabilité

• Product rule

• Sum rule

• Théorème de Bayes

• Theorem of total probability

Cours IFI M1 ©Jean-daniel Zucker

/81

Théorème de Bayes

• Etant donné une hypothèse h et des données D, on a:

• P(h): probabilité a priori (prior probability)

• P(D): probabilité de D

• P(D|h): Vraisemblance (likelihood)

• P(h|D): Probabilité a posteriori (posterior probability)

Page 7: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81 A posteriori maximal(maximum de vraissemblance*apriori)

• A partir de la formule de Bayes, on calcul la classe ayant la probabilité a posteriori maximale

• On recherche la classe le plus probable étant donnée les données D

H: ensemble des classes

Noter qu’on peut ignorer P(D) puisque le résultat est indépendant de cette valeur.

• P(h): probabilité a priori (prior probability)

• P(D|h): Vraisemblance (likelihood)

Cours IFI M1 ©Jean-daniel Zucker

/81

Question: Pour un jour <sunny, cool, high, strong>, peut on jouer ?

L’exemple classique...

Page 8: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

Exemple

Calcul de :

Prédiction définit par

Cours IFI M1 ©Jean-daniel Zucker

/81

## Example of using a contingency table: library(e1071)data(Titanic)m <- naiveBayes(Survived ~ ., data = Titanic)mpredict(m, as.data.frame(Titanic)[,1:3])table(predict(m, as.data.frame(Titanic)[,1:3]) , as.data.frame(Titanic)[,4])

## Example with metric predictors: data(iris) m <- naiveBayes(Species ~ ., data = iris) ## alternatively: m <- naiveBayes(iris[,-5], iris[,5]) m table(predict(m, iris[,-5]), iris[,5])

Page 9: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

A faire

• Charger les données Golf• Tester le bayésien naïf• Calculer l’erreur du bayésien naif en leave-one-out

17

Cours IFI M1 ©Jean-daniel Zucker

/81

Remarque

On considère que les variable outlook, temp, humidity, wind sont indépendantes.

Ce n’est généralement pas le cas

C’est la source d’erreur

Page 10: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/8119

Pl

an Les Arbre de décision

Cours IFI M1 ©Jean-daniel Zucker

/81

Algorithme de construction d’arbre de décision

• Une première approche pourrait consister à générer tous les arbres possibles et à choisir le meilleur

... trop couteux sauf si l’on a très peu d’attributs et très peu d’exemples.

• Il faut un biais

– exploration ascendante ou descendante

– forme des arbres de décision

• Le problème principal: choisir à chaque étape le bon attribut sur lequel tester ...

20

Page 11: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

C) Biais de la famille ID3 (Induction of Decision tree≈3)

• Approche descendante: on part d’une racine de l’arbre et on raffine.Famille TDIDT (Top Down Induction of Decision Trees).Recherche en meilleur d’abord (avec une fonction d’évaluation) sans retour arrière.

• ID3 a été conçu pour prendre en compte de nombreux attributs et de nombreux exemples

• ID3 cherche à construire des arbres relativement simple mais ne garantit pas de produire le plus simple (qu’est-ce que la simplicité ?)

21

Cours IFI M1 ©Jean-daniel Zucker

/81

II) L’algorithme ID3. A) Hypothèses générales

Soit!p = le nombre d’exemples positifs ! !! n = le nombre d’exemples négatifs

Dans ID3, les hypothèses de bases sont:• (H1: exemples représentatifs)

Un arbre de décision approprié classera des objets inconnus dans la même proportion que celle des exemples d’apprentissage

• (H2: simplicité inhérente du monde) ! Parmi les arbres solutions, l’arbre le plus simple est préférable

+n

p-

Un objet arbitraire sera donc assigné à la classe P avec la probabilité de p/ (p+n) et à la classe N avec la probabilité de n/ (p+n)

22

Page 12: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

A) Exemple illustratif

Attributs Pif Temp Humid Vent Valeurs possibles soleil,couvert,pluie chaud,bon,frais normale,haute vrai,faux

N° Pif Temp Humid Vent Golf1 soleil chaud haute faux NePasJouer2 soleil chaud haute vrai NePasJouer3 couvert chaud haute faux Jouer4 pluie bon haute faux Jouer5 pluie frais normale faux Jouer6 pluie frais normale vrai NePasJouer7 couvert frais normale vrai Jouer8 soleil bon haute faux NePasJouer9 soleil frais normale faux Jouer10 pluie bon normale faux Jouer11 soleil bon normale vrai Jouer12 couvert bon haute vrai Jouer13 couvert chaud normale faux Jouer14 pluie bon haute vrai NePasJouer

la classe

23

Cours IFI M1 ©Jean-daniel Zucker

/81

B) L’algorithme d’apprentissage d’arbres de décision (AAD)

• On choisit le premier attribut à utiliser pour l’arbre.

Temp?

• Après ce choix, on se trouve fasse au problème initial sur des sous-ensembles d’exemples. • D’où l’idée d’un algorithme récursif.

chaud bon frais

J3,J4,J5,J7,J9,J10,J11,J12,J13J1,J2, J6,J8,J14

+-

J3,J13J1,J2

+-

J4,J10,J11,J13J8,J14

+-

J5,J7,J9J6

+-

24

Page 13: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

B) L’algorithme (récursif) AAD: principe

PRCEDURE AAD(T,N)

SI! tous les exemples de N sont dans la même classe Ci

ALORS affecter l'étiquette Ci au noeud courant FIN

SINON! sélectionner un attribut A avec les valeurs v1...vn

! ! ! Partitionner N selon v1...vn en N1, ..., Nn

! ! ! Pour j=1 à n AAD(Tj, Nj).

T1

E

v2v1

T2E2

T

TnEn

vn

E1

A={v1...vn}E=E1∪ .. ∪ En

25

Cours IFI M1 ©Jean-daniel Zucker

/81

B) Sélectioner le bon attribut

Vent ?

vrai faux

J3,J4,J5,J7,J9,J10,J11,J12,J13J1,J2, J6,J8,J14

+-

+-

+-

Pif ?

couvert pluie soleil

J3,J4,J5,J9,10,J13J1,J8

+-

J3,J13,J7,J12+-

J4,J5,J10J6,J14

+-

J9,J11J1,J8,J2

+-

J7,J11,J12J2,J6,J14

J3,J4,J5,J7,J9,J10,J11,J12,J13J1,J2, J6,J8,J14

26

Page 14: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

B) Sur la simplicité d’un arbre de décision

• L’arbre le plus simple est celui qui permet de minimiser l’espérance du nombre de questions nécessaires à la classification d’un exemple d’apprentissage.

• Quelle fonction d’évaluation locale de l’importance d’un attribut peut correspondre à la mesure de simplicité globale ?

27

Cours IFI M1 ©Jean-daniel Zucker

/81

B) Construction d’arbres décision

• ... personne ne le sait !

• Plusieurs critères locaux ont été proposés(cf. cours suivant)

• L’entropie est une mesure du désordre règnant dans une collection d’objet. Si tous les objets appartiennent à la même classe, il n’y a pas de désordre.

• Quinlan a proposé de choisir l’attribut qui minimise le désordre de la partition résultante.

28

Page 15: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

C) La mesure d’information

• Shannon en 1949 a proposé une mesure d’entropie valable pour les distributions discrètes de probabilité.

• Elle exprime la quantité d’information, c’est à dire le nombre de bits nécessaire pour spécifier la contribution

• L’entropie d'information est:

! où pi est la probabilité de la classe Ci

I = - p log (pi 2 ii=1..k

×∑ )

29

Cours IFI M1 ©Jean-daniel Zucker

/81C) L’entropie, mesure d’information

Entropie d'information de N objets:

C1 C2 C3 C4 C5 k classes équiprobables: I= lg2(k)

Ci 1 seule classe: EI=0

• Est nulle quand il n’y a qu’une classe• D’autant plus grande que les classes sont équiprobables • Vaut log2(k) quand les k classes sont équiprobables• Unité: le bit d’information

I = - log2i=1..kpr Ci pr Ci( ) ( )×∑

30

Page 16: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

0,000,100,200,300,400,500,600,700,800,901,00

00,

10

0,20

0,30

0,40

0,50

0,60

0,70

0,80

0,90

1,00

C) L’entropie dans le cas de deux classes

• Pour k=2 on a ! I(p,n) = -p+ x log2(p+)- p- x log2(p-)

! D’après l’hypothèse H1 on a p+ = p/ (p+n) et p- = n/ (p+n)

! d’où! I(p,n) = - p log ( p )- n log( n )

! !! ! ! (p+n) (p+n) (p+n) (p+n) ! ! ! ! ! et

! ! ! ! ! I(P) = - P log P - (1-P) log(1-P)

I(P)

PP=p/(p+n)=n/(n+p)=0.5équiprobable

31

Cours IFI M1 ©Jean-daniel Zucker

/81

C) Exemple de calcul d’entropie d’arbre

Pour les exemples initiauxI(p,n) =- 9/14 log2 (9/14 ) - 5/14 log2 (5/14 )= 0.940 bits

Sous arbres de ! Pif?

p1=4! n1=0! I(p1,n1)=0p2=2! n2=3! I(p2,n2)=0.971p3=3! n3=2! I(p3,n3)=0.971

Sous arbres de! Temp?

p1=2! n1=2! I(p1,n1)=1p2=4! n2=2! I(p2,n2)=0.918p3=3! n3=1! I(p3,n3)=0.811

32

Page 17: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

C) Gain d’entropie d’un arbre de décision

val1 val2 val3

N1+N2+N3=N

N objetsn+p=N

E(N,A)= N1/N x I(p1,n1) + N2/N xI(p2,n2) + N3/N x I(p3,n3)

Le gain d’entropie de A vaut: GAIN(A)= I(p,n)-E(N,A)

Attribut A

N1 objetsn1+p1=N1

N2 objetsn2+p2=N2

N3 objetsn3+p3=N3

I(p,n)

33

Cours IFI M1 ©Jean-daniel Zucker

/81

C) Exemple de calcul de gain

Pour les exemples initiauxI(p,n) =- 9/14 log2 (9/14 ) - 5/14 log2 (5/14 )= 0.940 bits

Information du sous-arbre en testant sur PifE(Pif)! = ! 4/14 I(p1,n1) + 5/14 I(p2,n2) + 5/14 I(p3,n3)

! ! = !0.694 bitsGain(Pif)=! 0.940 - 0.694= 0.246 bits

Gain(Temp)=! 0.029 bits

Gain(Humid)=! 0.151 bits

Gain(Vent)=! 0.048 bits34

Page 18: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

D) AAD: pseudo-code

function AAD(exemples, attributs, défaut) return un arbre de décisioninput! exemples, un ensemble d’exemples d’apprentissage ! ! attributs, un ensemble d’attributs! défaut, la valeur par défaut du concept à apprendre

if exemples is empty then return défautelse if (all exemples have same class C) then return Celse if attributes is empty then return VAL-MAJ(exemples)else ! best ← CHOIX-ATRIBUT(attributes,exemples) ! tree ← a new decision tree with root test best ! for each value vi of best do

! ! exemplesi ← {elements of exemples with best =vi }

! ! subtree ← AAD(exemplesi, attributes-best, VAL-MAJ(exemples))

! ! add a branch to tree with label vi and subtree subtree

! end ! return tree

35

Cours IFI M1 ©Jean-daniel Zucker

/81

D) Exemple

• Arbre obtenu pour les 14 exemples du cours

couvert

Pif

jouer Ventoui

ne pas jouerjouer

pluie

Humid

normal haute

jouer ne pas jouer

soleil

non

36

Page 19: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

III.Systèmes TDIDT

Source: vecteur d'attributs valués associés à chaque exempleCible: arbre de décision

• CLS! ! (Hunt, 1966) [analyse de données]

• ID3 ! ! (Quinlan 1979)

• ACLS ! ! (Paterson & Niblett 1983)

• ASSISTANT ! (Bratko 1984)

• C4.5 ! ! (Quinlan 1986) puis C5 et See 5

• CART! ! (Breiman, Friedman, Ohlson, Stone, 1984)

• CHAID,QUEST,

Cours IFI M1 ©Jean-daniel Zucker

/81

Rpart package arbre de décision sous R

38

#vider la mémoirerm(list=ls())#charger la bibliothèque rpartlibrary(rpart)library(rpart.plot)# utilise donnée ptitanicdata(ptitanic)summary(ptitanic)# Plot ....... (dire ce que cela fait)plot(ptitanic$survived,ptitanic$sex)# Plot ....... (dire ce que cela fait)boxplot(ptitanic$survived,ptitanic$age)# ....... (dire ce que cela fait) expliquer tout les parametrestree <- rpart(survived ~ ., data=ptitanic, maxdepth=2) # ....... (dire ce que cela fait) expliquer tout les parametresprp(tree, main="type = 4, extra = 6", type=4, extra=6, faclen=0) # ... expliquer ce que font ces lignes ?# taper ?predict et ?table pour comprendre les commandespred <- predict(tree, newdata = ptitanic, type = "class")mc <- table(ptitanic$survived,pred) #matrice de confusion

# ... expliquererr.resub <- 1.0 - (mc[1,1]+mc[2,2])/sum(mc)

print(paste("Le taux d'erreur est ",round(100*err.resub),"%"))

Page 20: Khai thác dữ liệu - Cours Jean-Daniel Zuckercours.zucker.fr/M2IFI/PDF-COURS-FDD/Cours-IFI-DATAMINING-4.pdf · máy học thuật toán Anomalies Estimation. Cours IFI M1 ©Jean-daniel

Cours IFI M1 ©Jean-daniel Zucker

/81

R et test http://www.statmethods.net/advstats/discriminant.html

39

########################################################## ESSAYER DE COMPRENDRE LE CODE EN LE FAISANT PAS A PAS ##########################################################n <- nrow(ptitanic) #nombre d'observationsK <- 10 # pour 10-validation croiséetaille <- n%/%K #déterminer la taille de chaque blocset.seed(5) #pour obtenir la même séquence tout le tempsalea <- runif(n) #générer une colonne de valeurs aléatoiresrang <- rank(alea) #associer à chaque individu un rangbloc <- (rang-1)%/%taille + 1 # associer à chaque individu un numéro de blocbloc <- as.factor(bloc) #transformer en factorprint(summary(bloc)) #impression de contrôle

#lancer la validation croiséeall.err <- numeric(0)for (k in 1:K){ #apprendre le modèle sur tous les individus sauf le bloc k arbre <- rpart(survived ~., data = ptitanic[bloc!=k,], method = "class") #appliquer le modèle sur le bloc numéro k pred <- predict(arbre,newdata=ptitanic[bloc==k,], type = "class") #matrice de confusion mc <- table(ptitanic$survived[bloc==k],pred) #taux d'erreur err <- 1.0 - (mc[1,1]+mc[2,2])/sum(mc) #conserver all.err <- rbind(all.err,err)}9#vecteur des erreurs recueilliesprint(all.err)

Cours IFI M1 ©Jean-daniel Zucker

/81

Travaux Pratiques

• Aller sur http://ouebe.org

• Puis Promotion 16, Puis TP3-4

40