Vous êtes sur la page 1sur 29

Table des matières

Introduction 1

1 Acquisition de la base de données et pré-traitement 3


1.1 Acquisition de la base de données . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Pré-traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Nettoyage et complétion des données . . . . . . . . . . . . . . . . . 4
1.2.3 Décomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 Binarisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.5 Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Fouille des itemsets intéressants et des règles d’association 13


2.1 Description de la technique . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Tâche à réaliser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.1 choix de l’outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.2 Application de l’algorithme et interpretation du résultat . . . . . . 15

3 Arbre de classification et de régression 17


3.1 Description de la technique . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Tâche à réaliser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.1 Choix de l’outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.2 Application de l’algorithme et interprétation du résultat . . . . . . 19

iii
iv Table des matières

Conclusion 25
Table des figures

1.1 Logo de Orange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4


1.2 Complétion des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Modification des valeurs non cohérentes de l’attribut Sexe . . . . . . . . . 5
1.4 Modification des valeurs non cohérentes de l’attribut Fatal . . . . . . . . . 6
1.5 Les cinq pays favorisant les attaques . . . . . . . . . . . . . . . . . . . . . 7
1.6 Modification des valeurs de nos attributs . . . . . . . . . . . . . . . . . . . 7
1.7 Résultat des modifications apportées à notre base . . . . . . . . . . . . . . 8
1.8 Décomposition et binarisation . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.9 Résultat de la décomposition et la binarisation de notre base . . . . . . . 9
1.10 Modification des valeurs des attributs . . . . . . . . . . . . . . . . . . . . . 11
1.11 Résultat de la modification sur notre base . . . . . . . . . . . . . . . . . . 11
1.12 Chainage obtenu après l’application de ces opérations . . . . . . . . . . . . 12

2.1 Echantillon des données sources de l’algorithme APRIORI . . . . . . . . . 14


2.2 Exécution de l’algorithme APRIORI . . . . . . . . . . . . . . . . . . . . . 15
2.3 Echantillon des règles d’association générées . . . . . . . . . . . . . . . . . 15

3.1 Logo de l’outil Salford Predictive Modeler . . . . . . . . . . . . . . . . . . 19


3.2 Sélection du fichier CSV contenant les données à utiliser . . . . . . . . . . 19
3.3 Echantillon des données à utiliser . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Sélection de l’attribut FATAL comme variable cible . . . . . . . . . . . . . 20
3.5 Arbre de décision généré par SPM . . . . . . . . . . . . . . . . . . . . . . . 21
3.6 Règle numéro un . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.7 Règle numéro deux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

v
vi Table des figures

3.8 Règle numéro trois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


Introduction Générale

Actuellement, on a découvert que les approches traditionnelles de la statistique ont des


limites avec de grosses bases de données, car en présence de milliers ou de millions d’indi-
vidus et de centaines ou de milliers de variables, on trouvera forcément un niveau élevé de
redondance parmi ces variables.

C’est dans ce contexte et en réponse à ce problème que le Data Mining a vu le jour et est
désormais au cœur de toutes les préoccupations du monde de la recherche.

En effet, le Data Mining est un processus qui offre des réponses à l’analyse de données
volumineuses et nous permettra d’extraire des informations intéressantes et apportent de
nouvelles connaissances jusque-là inconnues, que les méthodes statistiques classiques n’ont
pas mis en avant.
Les techniques de Data Mining sont regroupées dans deux principales catégories :

• Les méthodes descriptives qui visent à structurer et à simplifier les données issues
de plusieurs variables, sans privilégier l’une d’entre elles en particulier
• Les méthodes explicatives qui visent à expliquer une variable à l’aide de deux ou
plusieurs variables explicatives

Le présent travail s’articule autour de trois chapitres.


Le premier est une description détaillée du pré-traitement effectué sur notre base de don-
nées.
Ensuite le deuxième portera sur la présentation de la technique de fouille des itemsets
intéressants et des règles d’association, l’analyse et l’interprétation des résultats obtenus
par l’algorithme APRIORI.
Enfin on cloture notre rapport par la présentation de la technique de l’arbre de classi-
fication et de régression ainsi que l’analyse et l’interprétation des résultats obtenus par
l’algorithme CART.

1
Chapitre 1

Acquisition de la base de données et


pré-traitement

Introduction
Dû à la grande taille des bases de données actuelles, les données brutes sont générale-
ment de faible qualité. Elles peuvent être incomplètes, bruitées ou incohérentes. L’applica-
tion d’algorithmes de Data Mining sur de telles données nuit à la performance ainsi qu’à
la fiabilité du modèle.
Le pré-traitement des données intervient dans ce cas et devient une étape cruciale dans le
processus de découverte de connaissances.
En effet, il permet d’améliorer la qualité des données soumises par la suite aux algorithmes
de Data Mining.
Dans ce chapitre, on va tout d’abord vous présenter l’origine de notre base de données.
Nous allons par la suite vous détailler le pré-traitement effectué.

1.1 Acquisition de la base de données


La base de données qu’on va utiliser provient de la plateforme web Kaggle. Elle com-
prend les incidents d’attaques de requins compilés par le Global Shark Attack File.

3
4 Chapitre 1. Acquisition de la base de données et pré-traitement

1.2 Pré-traitement
Nous avons choisi comme outil de préparation de nos données Orange.
Orange est un logiciel libre d’exploration de données. Il propose des fonctionnalités de mo-
délisation à travers une interface visuelle, une grande variété de modalités de visualisation
et des affichages variés dynamiques. Développé en Python, il existe des versions Windows,
Mac et Linux.

Figure 1.1 – Logo de Orange

1.2.1 Sélection
On a sélectionné les attributs sur lesquels on va travailler :
• Country : le pays où a été produite l’attaque
• Year : l’année de l’attaque
• Sexe : la personne qui a subi l’attaque
• Fatal : l’attaque a été mortelle ou non
• Activity : l’activité effectuée lorsque l’attaque a eu lieu

1.2.2 Nettoyage et complétion des données


Le nettoyage des données consiste à supprimer les données bruitées ou non pertinentes.
Et la complétion à compléter les valeurs manquantes pour rendre la base tolérable par les
techniques de fouille de données qu’on va utiliser par la suite.

On a opté pour l’élimination des tuples qui manquent la donnée « Year » et pour les tuples
qui manquent les données (Country, Sexe, Fatal, Activity) on va attribuer à ces colonnes
la moyenne des plus fréquents.
1.2. Pré-traitement 5

Figure 1.2 – Complétion des données

On a attribué aux champs qui ont une valeur non cohérente la valeur UN(unknown)
dans la colonne Sexe et Fatal.

Figure 1.3 – Modification des valeurs non cohérentes de l’attribut Sexe


6 Chapitre 1. Acquisition de la base de données et pré-traitement

Figure 1.4 – Modification des valeurs non cohérentes de l’attribut Fatal

Ensuite pour les tuples qui possèdent comme valeur « UN » dans la colonne Sexe et
Fatal, on les a remplacé par la valeur qui est la plus fréquente dans la dataset.

On a choisi le top 5 des pays où il y a le plus d’attaques de requins à l’aide de l’outil


CRYSTAL REPORT et on a remplacé la valeur des tuples qui n’appartiennent pas au top
4 par la valeur « other »

Enfin, on a opté pour les activités swimming et surfing comme activités principales et les
tuples qui ne possèdent pas une de ces deux valeurs on les a remplacé par la valeur « other
».
1.2. Pré-traitement 7

Figure 1.5 – Les cinq pays favorisant les attaques

Figure 1.6 – Modification des valeurs de nos attributs


8 Chapitre 1. Acquisition de la base de données et pré-traitement

Figure 1.7 – Résultat des modifications apportées à notre base

1.2.3 Décomposition
On a décomposé nos attributs comme suit :

• La colonne Country est divisée en 5 colonnes (USA, Australia, New Zealand, South
Africa) avec une colonne Other (regroupant les autres pays)
• La colonne Sexe en deux colonnes distinctes : une colonne pour les femmes (Femme)
et une colonne pour les hommes (homme)
• La colonne Fatal est décomposée en une colonne pour les blessures fatales (fatal) et
une colonne pour les blessures non fatales (Non-Fatal)
• La colonne Activity également : une colonne pour l’activité Swimming, une colonne
pour l’activité Surfing et une colonne Other qui regroupe les autres activités

1.2.4 Binarisation
On a binarisé nos attributs afin de faciliter la prochaine étape.
Dans chaque tuple, si un attribut est présent on remplace sa valeur par 1 sinon par 0.
1.2. Pré-traitement 9

Figure 1.8 – Décomposition et binarisation

Figure 1.9 – Résultat de la décomposition et la binarisation de notre base

1.2.5 Transformation
On a transformé nos attributs comme suit afin d’appliquer par la suite l’algorithme
Apriori de Christian Borgelt :
10 Chapitre 1. Acquisition de la base de données et pré-traitement

• Pour l’attribut Fatal-binary : pour chaque transaction, si on note la présence de 1


on le remplace par la valeur « FAT » sinon on remplace 0 par vide.

• Pour l’attribut Non-fatal-binary : pour chaque transaction, si on note la présence


de 1 on le remplace par la valeur « NFAT » sinon on remplace 0 par vide.

• Pour l’attribut Feminin-binary : pour chaque transaction, si on note la présence de


1 on le remplace par la valeur « F » sinon on remplace 0 par vide.

• Pour l’attribut Masculin-binary : pour chaque transaction, si on note la présence de


1 on le remplace par la valeur « M » sinon on remplace 0 par vide.

• Pour l’attribut Swimming-binary : pour chaque transaction, si on note la présence


de 1 on le remplace par la valeur « SW » sinon on remplace 0 par vide.

• Pour l’attribut Surfing-binary : pour chaque transaction, si on note la présence de


1 on le remplace par la valeur « SU » sinon on remplace 0 par vide.

• Pour l’attribut Other-activity-binary : pour chaque transaction, si on note la pré-


sence de 1 on le remplace par la valeur « OA » sinon on remplace 0 par vide.

• Pour l’attribut USA-binary : pour chaque transaction, si on note la présence de 1


on le remplace par la valeur « US » sinon on remplace 0 par vide.

• Pour l’attribut AUSTRALIA-binary : pour chaque transaction, si on note la pré-


sence de 1 on le remplace par la valeur « AU » sinon on remplace 0 par vide.

• Pour l’attribut SOUTH-AFRICA-binary : pour chaque transaction, si on note la


présence de 1 on le remplace par la valeur « SF » sinon on remplace 0 par vide.

• Pour l’attribut NEW-ZEALAND-binary : pour chaque transaction, si on note la


présence de 1 on le remplace par la valeur « NZ » sinon on remplace 0 par vide.

• Pour l’attribut PAPUA-NEW-GUINEA-binary : pour chaque transaction, si on note


la présence de 1 on le remplace par la valeur « PNG » sinon on remplace 0 par vide.

• Pour l’attribut Other-country-binary : pour chaque transaction, si on note la pré-


sence de 1 on le remplace par la valeur « OC » sinon on remplace 0 par vide.
1.2. Pré-traitement 11

Figure 1.10 – Modification des valeurs des attributs

Figure 1.11 – Résultat de la modification sur notre base


12 Chapitre 1. Acquisition de la base de données et pré-traitement

Figure 1.12 – Chainage obtenu après l’application de ces opérations

Conclusion
Cette partie nous a permis de nettoyer et structurer notre base de données afin de la
préparer à une future analyse.
Dans la prochaine partie nous allons découvrir et appliquer la technique de fouille des
itemsets intéressants et des règles d’association sur notre base de données.
Chapitre 2

Fouille des itemsets intéressants et des


règles d’association

Introdution
On va consacrer cette partie à l’une des techniques de fouille de données les plus connues
à savoir la fouille des itemsets intéressants et des règles d’association.
Ensuite on va présenter comment on a utilisé et adapté cette technique afin d’atteindre
l’objectif de la tâche de fouille de données à réaliser et enfin interpréter les résultats obtenus.

2.1 Description de la technique


La fouille des règles d’association est une technique non supervisée elle permet de dé-
couvrir les régularités entre les données et à les classer sans fixer l’élément à découvrir.
C’est une méthode qui n’est pas purement prédictive ni purement descriptive.
Apriori est le premier algorithme qui résout le problème de la découverte des motifs fré-
quents.
Il procède en deux phases :
1. Recherche des motifs fréquents, ceux dont le support est supérieur ou égal au support
minimum. Minsupp est fixé par l’utilisateur lors du paramétrage de l’algorithme.
2. Pour chaque itemset fréquent X, on conserve les règles de type X Y, dont la
"Confiance" surpasse le seuil minconf.
Apriori est un algorithme itératif de recherche d’itemsets fréquents par itération.
Son idée générale est de générer, à chaque itération k, un ensemble d’itemsets potentiels.
Un balayage est réalisé pour élaguer les itemsets non fréquents :
Les k-itemsets fréquents obtenus sont réutilisés lors de l’itération (k + 1).

13
14 Chapitre 2. Fouille des itemsets intéressants et des règles d’association

A chaque itération k, l’algorithme effectue un passage dans la base de transactions pour


calculer le support de chaque k-itemset.

2.2 Tâche à réaliser


Cette tâche consiste à savoir quel est le sexe de l’individu et quels sont les pays et les
activités qui mènent vers une attaque fatale de requins dans le monde.

2.3 Implémentation

2.3.1 choix de l’outil


Dans notre projet, on a utilisé le programme qui contient l’exécutable de l’algorithme
de recherche des règles d’association « apriori.exe » réalisé par Christian Borgelt qui
prend en entrée une structure de données particulière (format csv) décrite en détail dans
le 1er chapitre.

Figure 2.1 – Echantillon des données sources de l’algorithme APRIORI


2.3. Implémentation 15

2.3.2 Application de l’algorithme et interpretation du résultat


L’exécution de l’algorithme avec les paramètres minsupp fixé à 100% et minconf égal
à 80% génère un fichier texte contenant les règles d’associations les plus fréquentes

Figure 2.2 – Exécution de l’algorithme APRIORI

Figure 2.3 – Echantillon des règles d’association générées


16 Chapitre 2. Fouille des itemsets intéressants et des règles d’association

D’après les règles d’associations générées par l’algorithme Apriori, on constate que si
le sexe de l’être humain est homme et l’attaque s’est produite dans South Africa ou dans
l’USA alors il y aura une grande probabilité que l’attaque sera fatale avec une confiance
égale à 80%

Conclusion
Cette technique de fouille de données nous a permis d’extraire des connaissances à
partir d’une grande masse de données afin de les exploiter pour pouvoir limiter les attaques
meurtrières des requins.
Chapitre 3

Arbre de classification et de régression

Introduction
Au cours de ce chapitre, nous allons parler de l’une des techniques de fouilles de données
les plus utilisées à savoir les arbres de décision.
De plus on va illustrer comment on a utilisé et adapter cette technique afin de réaliser la
tâche de fouille de données qu’on va présenter plus tard et interpréter les résultats obtenus.

3.1 Description de la technique


La technique des arbres de décision est utilisée pour prédire la classe à laquelle appar-
tient un objet donné.
C’est une technique supervisée dans le sens que les différentes classes sont préfixées à
l’avance.
Les arbres de classification et de régression sont un sous-ensemble de ce qu’on appelle «
arbres de décision ». Ils sont des outils d’aide à la décision présentés sous la forme visuelle
d’un arbre : la base de l’arbre est la racine, contenant une population d’individus à répar-
tir. C’est ce qu’on nomme « base d’apprentissage ». Cette base comprend un ensemble de
variables (qualitatives et continues) décrivant et différenciant chacun des individus, ainsi
qu’une variable d’intérêt dite « cible ».
Pour construire l’arbre, une question est posée à chaque étape à l’ensemble des données
concernant une des variables discriminantes. Ainsi, les individus sont répartis en fonction
de leur réponse dans des « nœuds ».
Ces étapes dites de « partitions » vont se succéder jusqu’à ce qu’un ou plusieurs critères
d’arrêt soient atteints. Les nœuds « finaux » qui constituent les feuilles des arbres re-
présentent les groupes finaux contenant les individus, leur assignation. C’est ainsi que les

17
18 Chapitre 3. Arbre de classification et de régression

profils sont distingués.


La variable cible représente le comportement observé que nous souhaitons modéliser. Elle
peut prendre ses valeurs dans un ensemble de valeurs discrètes (ex : « Oui/Non » ; «
Bleu/Vert/Jaune/Rouge »).
Afin de créer un arbre de décision, on a besoin de suivre une démarche algorithmique bien
précise qui est la suivante :

Si tous les objets de l’ensemble X ont la même valeur de la variable cible ou s’ils
vérifient une des conditions d’arrêt (pour qualifier un nœud de terminal)

Alors créer un nœud feuille portant le nom de la valeur de la variable cible (si nœud
pur) ou celle de la classe majoritaire (si nœud terminal mais non pur)

Sinon choisir la meilleure variable pour créer les nœuds fils c’est-à-dire la variable
qui sépare le mieux les objets de l’ensemble X le test associé à ce nœud partitionne
X en des branches : Xg, . . . , Xd

Construire-Arbre(Xg)
...
Construire-Arbre(Xd)

Fin

Parmi les algorithmes les plus connus utilisés dans la construction des arbres de décisions
on cite l’algorithme CART (Classification And Regression Trees) qui utilise l’indice de Gini
comme critère de séparation.
Plus l’indice de Gini est bas, plus le nœud est pur (c’est-à-dire que plus tous les objets
associés appartiennent à la même classe).

3.2 Tâche à réaliser


Notre tâche consiste à extraire le profil d’une personne qui est le plus susceptible à
subir une attaque meurtrière par des requins tout en prenant en considération certains
paramètres (pays, le sexe, l’activité et la nature de la blessure).
Entre autres on va prédire la nature de la blessure (Fatale ou Non-Fatale) que peut subir
une personne selon la valeur des variables (Country,Sexe,Activity).
Ainsi notre arbre de décision va être composé de :

• 2 classes : Fatale=Y, Fatale=N


• 3 variables : Country, Sexe, Activity
3.3. Implémentation 19

3.3 Implémentation

3.3.1 Choix de l’outil


Afin de réaliser notre tâche de classification décrite auparavant on a utilisé l’outil Salford
Predictive Modeler.
Basé sur l’exécution de l’algorithme de construction des arbres décisionnels CART, SPM
est le seul système d’arbre de décision basé sur le code CART original développé par
L’université de Stanford et l’université de Californie à Berkeley.

Figure 3.1 – Logo de l’outil Salford Predictive Modeler

3.3.2 Application de l’algorithme et interprétation du résultat

Figure 3.2 – Sélection du fichier CSV contenant les données à utiliser


20 Chapitre 3. Arbre de classification et de régression

Figure 3.3 – Echantillon des données à utiliser

Figure 3.4 – Sélection de l’attribut FATAL comme variable cible

Dans la phase de paramétrage avant l’exécution de l’algorithme CART, on a choisi


comme condition d’arrêt l’épuisement de toutes les variables de prédictions qu’on possède.
3.3. Implémentation 21

Figure 3.5 – Arbre de décision généré par SPM


22 Chapitre 3. Arbre de classification et de régression

Après l’obtention de l’arbre de décision, on constate que l’arbre est binaire et ceci est
dû au fait que SPM privilégie les modalités des attributs qui sont le plus fréquent dans la
base d’apprentissage.
Dans chaque nœud de l’arbre on visualise le pourcentage de l’appartenance à chaque classe.
Voici les règles qu’on a dégagé de quelques nœuds terminaux de l’arbre de décision généré :

Figure 3.6 – Règle numéro un

Figure 3.7 – Règle numéro deux


3.3. Implémentation 23

Figure 3.8 – Règle numéro trois

Conclusion
A partir de l’application de cette technique de fouille de données, nous avons pu définir
le profil d’une personne qui peut subir une attaque meurtrière de requins et ceci est dû aux
résultats générés par l’arbre décisionnel qui sont facilement lisibles et interprétables.
Conclusion Générale

La réalisation de ce projet a été pour nous l’occasion de découvrir plusieurs outils de


fouille de données.

De plus, nous avons pu consolider les connaissances acquises durant le cours de Data
Mining, enrichir notre expérience en matière d’analyse et comprendre l’utilité et les pers-
pectives de l’exploration de données.

Enfin, réaliser ce projet en équipe a été tout à fait intéressant et productif.


En effet, nous avons pu confronter nos idées sur l’étude et effectuer ainsi une analyse plus
détaillée.

25