SlideShare une entreprise Scribd logo
1  sur  23
Thème:
Plan
Data mining
Méthodologies
Conception et implémentation
Conclusion
La classification est une tâche du data mining qui permet
d’identifier les classes auxquelles appartiennent des
objets à partir de certains paramètres descriptifs.
Les méthodes utilisées pour la classification sont
nombreuses, citons : SVM, Naïve Bayes…etc.
Ces méthodes ont montrés leurs efficacités dans de
nombreux domaines d’applications tels que la
catégorisation de textes et le diagnostique médicale.
1 / 20
Data mining
 Plusieurs définitions ont été proposées pour définir le
data mining, nous en retenons deux:
 Le data mining est l’ensemble du processus permettant
l’extraction de connaissances à partir de grosses bases de
données dans un but d’aide à la décision.
 Le data mining est le processus de sélection, exploration
et modélisation de grandes bases de données afin de
découvrir des relations entre les données.
2 / 20
Classification supervisée
 La classification supervisée consiste à examiner des
caractéristiques d’un élément nouvellement
présenté afin de l’affecter à une classe d’un
ensemble prédéfini.
Les techniques les plus appropriées à la classification
sont :
- Les arbres de décision.
- L’algorithme K-NN.
- Naïve Bayes. . .etc
3 / 20
Clustering (Segmentation)
 Pour résoudre certains problèmes complexes, il peut
s'avérer utile de commencer par segmenter la
population (la diviser en groupes) en espérant que le
problème soit alors plus simple à résoudre sur les
groupes ainsi constitués. Il existe deux grandes classes
de méthodes :
Non hiérarchique: On décompose l'ensemble
d'individus en k groupes.
Hiérarchique: On décompose l'ensemble d'individus
en une arborescence de groupes.
4 / 20
Naïve Bayes
 Le théorème de Bayes :
P(C|X) = P(X|C) ·P(C) / P(X)
6 / 20
Probabilité que l’objet
X = (x1,…, xk) soit dans
la classe C.
Elle peut être considérée comme la probabilité
d’apparence de chaque valeur des attributs de X
dans les attributs des échantillons appartenant
à la classe C.
Est une constante
pour toutes les
classes.
Fréquence relative des instances
de la classe C.
« Le problème est que le calcul de P(X|C) est non faisable ! »
L’hypothèse naïve de Bayes est basée sur l’indépendance
des attributs ce qui donne :
P(x1,…,xk|C) = P( x1|C)…P( xk|C)
P(xi|C) est estimé comme la fréquence relative des
instances possédant la valeur xi (i-ème attribut) dans la
classe C.
7 / 20
Attributs numériques
 Si un attribut est numérique, on calcule la moyenne et
l'écart-type de chaque attribut numérique et pour chaque
valeur de l'attribut cible. Rappelons que la fonction de
densité de probabilité d'une distribution normale est :
f x =
1
2πσ
e
−
x−μ 2
2σ2
 Où:
 La moyenne 𝜇 =
1
𝑁 𝑖=1
𝑁
𝑥𝑖
 Et L'écart-type 𝜎 =
1
𝑁−1 𝑖=1
𝑁
𝑥𝑖 − 𝜇 2
8 / 20
SVM
 Cette technique est une méthode de classification à
deux classes qui tente de séparer les exemples positifs
des exemples négatifs dans l’ensemble des
exemples. La méthode cherche alors l’hyperplan qui
sépare les exemples positifs des exemples négatifs.
9 / 20
x1
x2
Problème:
 plusieurs hyperplans
Quel est celui qui sépare le mieux
les deux classes ?
10 / 20
x1
x2
C’est celui qui
maximise la marge
L‘hyperplan H doit donc:
1. Maximiser la marge
2. Bien classer les Xi
11 / 20
Dans le cas où les données sont linéairement inséparables
On effectue une transformation d’espace pour amener les données dans un espace
où elles sont linéairement séparables, et on revient au cas précédent.
12 / 20
 L’application que nous
nous proposons de
développer peut se voir
comme étant
l’interconnexion de
plusieurs modules
complémentaires
indépendants l’un de
l’autre. La Figure à droite
illustre les différents
modules et les
interactions qui
représentent des échanges
de l’information.
14 / 20
Architecture générale de l’application
Tests et résultats
 Afin de tester et comparer l’efficacité et la performance
des algorithmes, nous allons effectuer une série d’essais.
 Les performances de chaque algorithme seront ensuite
évalués afin qu’un comparatif puisse être établi.
 Les tests individuels sur chaque algorithme sont effectués
sur un ensemble d’apprentissage et un ensemble de test.
L’ensemble d’apprentissage sert à construire le modèle
et l’ensemble de test sert à évaluer la performance du
modèle construit en calculant le taux d’erreur.
15 / 20
Tests sur splice data set
Ensemble d’apprentissage
(splice : 1000 instances)
Ensemble de test
(spliceTest : 2175 instances)
Nombre
d’instances
Temps d’exécution
(en secondes)
Temps d’exécution
(en secondes)
Taux d’erreur (en %) F-mesure
Naïve
Bayes
SVM Naïve
Bayes
SVM Naïve
Bayes
SVM Naïve
Bayes
SVM
200 (20%) 0.156 0.828 0.484 0.141 13.89 20.55 0.86 0.794
500(50%) 0.344 4.125 0.36 0.078 12.55 17.38 0.874 0.826
800 (80%) 0.125 4.25 0.297 0.078 11.91 16.46 0.88 0.836
1000(100%) 0.172 8.765 0.313 0.078 11.91 16.05 0.881 0.839
16 / 20
0
5
10
15
20
25
20 50 80 100
Taux
d’erreur
(en
%)
La taille de l’ensemble d’apprentissage (en %)
Naive Bayes
SVM
17 / 20
Tests sur tic_tac_toe data set
Ensemble d’apprentissage
(tic_tac_toe : 767 instances)
Ensemble de test
(tic_tac_toe_test : 191 instances)
Nombre
d’instances
Temps d’exécution
(en secondes)
Temps d’exécution
(en secondes)
Taux d’erreur
(en %)
F-mesure
Naïve
Bayes
SVM Naïve
Bayes
SVM Naïve
Bayes
SVM Naïve
Bayes
SVM
153 (20%) 0.015 0.016 0.016 0.016 31.41 28.27 0.685 0.644
384 (50%) 0.203 0.016 0.016 0.016 29.84 19.9 0.697 0.784
614 (80%) 0.078 0.094 0.016 0.015 28.8 17.8 0.705 0.802
767 (100%) 0.063 0.828 0.016 0.016 28.8 14.66 0.705 0.844
18 / 20
0
5
10
15
20
25
30
35
20 50 80 100
Taux
d’erreur
(en
%)
La taille de l’ensemble d’apprentissage (en %)
Naive Bayes
SVM
19 / 20
Conclusion
 Nous avons essayé à travers les séries de tests effectués à
suivre le comportement des algorithmes de data mining que
nous avons programmés face à différents jeux de données réelles.
Rappelons que l’objectif principal de notre travail est de
développer une plateforme qui permet d’exécuter et de
comparer deux algorithmes de classification.
 Nous avons vu que chaque algorithme est adapté à un
contexte particulier, il peut donc réussir dans un contexte et
échouer dans un autre. Nous avons conclu que le choix du bon
algorithme se fait en fonction des données et des besoins.
 Cette étude comparative est limitée au cas bi-classe, donc une
amélioration de ce travail peut être faite en implémentant un
SVM multi-classe pour étendre le champ de comparaison.
20 / 20
Etude comparative des classifieurs Naïve Bayes et SVM

Contenu connexe

Similaire à Etude comparative des classifieurs Naïve Bayes et SVM

Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherchePhilippe YONNET
 
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.pdfnesrinetaamallah
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data miningDonia Hammami
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 
analysez-des-donnees-avec-excel documen.pdf
analysez-des-donnees-avec-excel documen.pdfanalysez-des-donnees-avec-excel documen.pdf
analysez-des-donnees-avec-excel documen.pdfLeonLovensky
 
resampling_evaluation.pdf
resampling_evaluation.pdfresampling_evaluation.pdf
resampling_evaluation.pdfSidiAbdallah1
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdfOuailChoukhairi
 
PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?Marc Bojoly
 
mis
mismis
misISIG
 
Rapport-du-projet CNN.docx
Rapport-du-projet CNN.docxRapport-du-projet CNN.docx
Rapport-du-projet CNN.docxkhalil Ismail
 
Visual studio
Visual studioVisual studio
Visual studioISIG
 
Fouille de données sur des graphes : Introduction
Fouille de données sur des graphes : IntroductionFouille de données sur des graphes : Introduction
Fouille de données sur des graphes : Introductiontuxette
 

Similaire à Etude comparative des classifieurs Naïve Bayes et SVM (20)

Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherche
 
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
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
 
Tp2 matlab
Tp2 matlab Tp2 matlab
Tp2 matlab
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
analysez-des-donnees-avec-excel documen.pdf
analysez-des-donnees-avec-excel documen.pdfanalysez-des-donnees-avec-excel documen.pdf
analysez-des-donnees-avec-excel documen.pdf
 
resampling_evaluation.pdf
resampling_evaluation.pdfresampling_evaluation.pdf
resampling_evaluation.pdf
 
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
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
 
PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?
 
Cours 01.pptx
Cours 01.pptxCours 01.pptx
Cours 01.pptx
 
TP2 Data Science:
TP2 Data Science: TP2 Data Science:
TP2 Data Science:
 
Comparaison
ComparaisonComparaison
Comparaison
 
Data Mining
Data MiningData Mining
Data Mining
 
mis
mismis
mis
 
Rapport-du-projet CNN.docx
Rapport-du-projet CNN.docxRapport-du-projet CNN.docx
Rapport-du-projet CNN.docx
 
Genetic Algorithm for Multi-Agent simulation Calibration (GAMAC)
Genetic Algorithm for Multi-Agent simulation Calibration (GAMAC)Genetic Algorithm for Multi-Agent simulation Calibration (GAMAC)
Genetic Algorithm for Multi-Agent simulation Calibration (GAMAC)
 
Visual studio
Visual studioVisual studio
Visual studio
 
Fouille de données sur des graphes : Introduction
Fouille de données sur des graphes : IntroductionFouille de données sur des graphes : Introduction
Fouille de données sur des graphes : Introduction
 

Plus de SamirAwad14

NS3 - Exploitation.pptx
NS3 - Exploitation.pptxNS3 - Exploitation.pptx
NS3 - Exploitation.pptxSamirAwad14
 
replication.pptx
replication.pptxreplication.pptx
replication.pptxSamirAwad14
 
srep_cours_04.pdf
srep_cours_04.pdfsrep_cours_04.pdf
srep_cours_04.pdfSamirAwad14
 
srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdfSamirAwad14
 
srep_cours_05.pdf
srep_cours_05.pdfsrep_cours_05.pdf
srep_cours_05.pdfSamirAwad14
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptxSamirAwad14
 
repartition oracle.pptx
repartition oracle.pptxrepartition oracle.pptx
repartition oracle.pptxSamirAwad14
 
Transaction.pptx
Transaction.pptxTransaction.pptx
Transaction.pptxSamirAwad14
 
controle donnee.pptx
controle donnee.pptxcontrole donnee.pptx
controle donnee.pptxSamirAwad14
 
controle donnee.pdf
controle donnee.pdfcontrole donnee.pdf
controle donnee.pdfSamirAwad14
 
gestion utilisateur.pdf
gestion utilisateur.pdfgestion utilisateur.pdf
gestion utilisateur.pdfSamirAwad14
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdfSamirAwad14
 
Data Warehousing.pptx
Data Warehousing.pptxData Warehousing.pptx
Data Warehousing.pptxSamirAwad14
 

Plus de SamirAwad14 (20)

NS3 - Exploitation.pptx
NS3 - Exploitation.pptxNS3 - Exploitation.pptx
NS3 - Exploitation.pptx
 
replication.pptx
replication.pptxreplication.pptx
replication.pptx
 
srep_cours_04.pdf
srep_cours_04.pdfsrep_cours_04.pdf
srep_cours_04.pdf
 
srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdf
 
srep_cours_05.pdf
srep_cours_05.pdfsrep_cours_05.pdf
srep_cours_05.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
trigger.pptx
trigger.pptxtrigger.pptx
trigger.pptx
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
 
repartition oracle.pptx
repartition oracle.pptxrepartition oracle.pptx
repartition oracle.pptx
 
Transaction.pptx
Transaction.pptxTransaction.pptx
Transaction.pptx
 
controle donnee.pptx
controle donnee.pptxcontrole donnee.pptx
controle donnee.pptx
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
TD.pdf
TD.pdfTD.pdf
TD.pdf
 
trigger.pdf
trigger.pdftrigger.pdf
trigger.pdf
 
controle donnee.pdf
controle donnee.pdfcontrole donnee.pdf
controle donnee.pdf
 
Transaction.pdf
Transaction.pdfTransaction.pdf
Transaction.pdf
 
replication.pdf
replication.pdfreplication.pdf
replication.pdf
 
gestion utilisateur.pdf
gestion utilisateur.pdfgestion utilisateur.pdf
gestion utilisateur.pdf
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdf
 
Data Warehousing.pptx
Data Warehousing.pptxData Warehousing.pptx
Data Warehousing.pptx
 

Etude comparative des classifieurs Naïve Bayes et SVM

  • 3. La classification est une tâche du data mining qui permet d’identifier les classes auxquelles appartiennent des objets à partir de certains paramètres descriptifs. Les méthodes utilisées pour la classification sont nombreuses, citons : SVM, Naïve Bayes…etc. Ces méthodes ont montrés leurs efficacités dans de nombreux domaines d’applications tels que la catégorisation de textes et le diagnostique médicale. 1 / 20
  • 4. Data mining  Plusieurs définitions ont été proposées pour définir le data mining, nous en retenons deux:  Le data mining est l’ensemble du processus permettant l’extraction de connaissances à partir de grosses bases de données dans un but d’aide à la décision.  Le data mining est le processus de sélection, exploration et modélisation de grandes bases de données afin de découvrir des relations entre les données. 2 / 20
  • 5. Classification supervisée  La classification supervisée consiste à examiner des caractéristiques d’un élément nouvellement présenté afin de l’affecter à une classe d’un ensemble prédéfini. Les techniques les plus appropriées à la classification sont : - Les arbres de décision. - L’algorithme K-NN. - Naïve Bayes. . .etc 3 / 20
  • 6. Clustering (Segmentation)  Pour résoudre certains problèmes complexes, il peut s'avérer utile de commencer par segmenter la population (la diviser en groupes) en espérant que le problème soit alors plus simple à résoudre sur les groupes ainsi constitués. Il existe deux grandes classes de méthodes : Non hiérarchique: On décompose l'ensemble d'individus en k groupes. Hiérarchique: On décompose l'ensemble d'individus en une arborescence de groupes. 4 / 20
  • 7.
  • 8. Naïve Bayes  Le théorème de Bayes : P(C|X) = P(X|C) ·P(C) / P(X) 6 / 20 Probabilité que l’objet X = (x1,…, xk) soit dans la classe C. Elle peut être considérée comme la probabilité d’apparence de chaque valeur des attributs de X dans les attributs des échantillons appartenant à la classe C. Est une constante pour toutes les classes. Fréquence relative des instances de la classe C.
  • 9. « Le problème est que le calcul de P(X|C) est non faisable ! » L’hypothèse naïve de Bayes est basée sur l’indépendance des attributs ce qui donne : P(x1,…,xk|C) = P( x1|C)…P( xk|C) P(xi|C) est estimé comme la fréquence relative des instances possédant la valeur xi (i-ème attribut) dans la classe C. 7 / 20
  • 10. Attributs numériques  Si un attribut est numérique, on calcule la moyenne et l'écart-type de chaque attribut numérique et pour chaque valeur de l'attribut cible. Rappelons que la fonction de densité de probabilité d'une distribution normale est : f x = 1 2πσ e − x−μ 2 2σ2  Où:  La moyenne 𝜇 = 1 𝑁 𝑖=1 𝑁 𝑥𝑖  Et L'écart-type 𝜎 = 1 𝑁−1 𝑖=1 𝑁 𝑥𝑖 − 𝜇 2 8 / 20
  • 11. SVM  Cette technique est une méthode de classification à deux classes qui tente de séparer les exemples positifs des exemples négatifs dans l’ensemble des exemples. La méthode cherche alors l’hyperplan qui sépare les exemples positifs des exemples négatifs. 9 / 20
  • 12. x1 x2 Problème:  plusieurs hyperplans Quel est celui qui sépare le mieux les deux classes ? 10 / 20
  • 13. x1 x2 C’est celui qui maximise la marge L‘hyperplan H doit donc: 1. Maximiser la marge 2. Bien classer les Xi 11 / 20
  • 14. Dans le cas où les données sont linéairement inséparables On effectue une transformation d’espace pour amener les données dans un espace où elles sont linéairement séparables, et on revient au cas précédent. 12 / 20
  • 15.
  • 16.  L’application que nous nous proposons de développer peut se voir comme étant l’interconnexion de plusieurs modules complémentaires indépendants l’un de l’autre. La Figure à droite illustre les différents modules et les interactions qui représentent des échanges de l’information. 14 / 20 Architecture générale de l’application
  • 17. Tests et résultats  Afin de tester et comparer l’efficacité et la performance des algorithmes, nous allons effectuer une série d’essais.  Les performances de chaque algorithme seront ensuite évalués afin qu’un comparatif puisse être établi.  Les tests individuels sur chaque algorithme sont effectués sur un ensemble d’apprentissage et un ensemble de test. L’ensemble d’apprentissage sert à construire le modèle et l’ensemble de test sert à évaluer la performance du modèle construit en calculant le taux d’erreur. 15 / 20
  • 18. Tests sur splice data set Ensemble d’apprentissage (splice : 1000 instances) Ensemble de test (spliceTest : 2175 instances) Nombre d’instances Temps d’exécution (en secondes) Temps d’exécution (en secondes) Taux d’erreur (en %) F-mesure Naïve Bayes SVM Naïve Bayes SVM Naïve Bayes SVM Naïve Bayes SVM 200 (20%) 0.156 0.828 0.484 0.141 13.89 20.55 0.86 0.794 500(50%) 0.344 4.125 0.36 0.078 12.55 17.38 0.874 0.826 800 (80%) 0.125 4.25 0.297 0.078 11.91 16.46 0.88 0.836 1000(100%) 0.172 8.765 0.313 0.078 11.91 16.05 0.881 0.839 16 / 20
  • 19. 0 5 10 15 20 25 20 50 80 100 Taux d’erreur (en %) La taille de l’ensemble d’apprentissage (en %) Naive Bayes SVM 17 / 20
  • 20. Tests sur tic_tac_toe data set Ensemble d’apprentissage (tic_tac_toe : 767 instances) Ensemble de test (tic_tac_toe_test : 191 instances) Nombre d’instances Temps d’exécution (en secondes) Temps d’exécution (en secondes) Taux d’erreur (en %) F-mesure Naïve Bayes SVM Naïve Bayes SVM Naïve Bayes SVM Naïve Bayes SVM 153 (20%) 0.015 0.016 0.016 0.016 31.41 28.27 0.685 0.644 384 (50%) 0.203 0.016 0.016 0.016 29.84 19.9 0.697 0.784 614 (80%) 0.078 0.094 0.016 0.015 28.8 17.8 0.705 0.802 767 (100%) 0.063 0.828 0.016 0.016 28.8 14.66 0.705 0.844 18 / 20
  • 21. 0 5 10 15 20 25 30 35 20 50 80 100 Taux d’erreur (en %) La taille de l’ensemble d’apprentissage (en %) Naive Bayes SVM 19 / 20
  • 22. Conclusion  Nous avons essayé à travers les séries de tests effectués à suivre le comportement des algorithmes de data mining que nous avons programmés face à différents jeux de données réelles. Rappelons que l’objectif principal de notre travail est de développer une plateforme qui permet d’exécuter et de comparer deux algorithmes de classification.  Nous avons vu que chaque algorithme est adapté à un contexte particulier, il peut donc réussir dans un contexte et échouer dans un autre. Nous avons conclu que le choix du bon algorithme se fait en fonction des données et des besoins.  Cette étude comparative est limitée au cas bi-classe, donc une amélioration de ce travail peut être faite en implémentant un SVM multi-classe pour étendre le champ de comparaison. 20 / 20