Data Mining Exam
Base de données « jouer tennis » et préparation L'énoncé fournit un jeu de données de 20 exemplaires, avec 4 attributs nominaux et une classe binaire ( y ∈ {oui, non}). Nous devons utiliser un découpage spécifique pour les algorithmes : Xtrain (entraînement) : exemplaires 1 à 14. Xtest (test) : exemplaires 15 à 20.
D'après le document Data Mining Exam
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Data Mining, Machine Learning, Weka · PDF · 3 pages · 2013
Afficher l'aperçu du document
Base de données « jouer tennis » et préparation
L'énoncé fournit un jeu de données de 20 exemplaires, avec 4 attributs nominaux et une classe binaire (y ∈ {oui, non}).
Nous devons utiliser un découpage spécifique pour les algorithmes :
- Xtrain (entraînement) : exemplaires 1 à 14.
- Xtest (test) : exemplaires 15 à 20.
Un examen attentif de Xtrain révèle la distribution de classes suivante parmi les 14 premiers exemplaires :
- Oui : 3, 4, 5, 7, 9, 11, 13 (7 exemplaires)
- Non : 1, 2, 6, 8, 10, 12, 14 (7 exemplaires) Il y a donc une égalité parfaite (50/50) entre les classes "oui" et "non" dans l'échantillon d'apprentissage.
La distribution de Xtest (6 exemplaires) est la suivante :
- Oui : 15, 18, 20 (3 exemplaires)
- Non : 16, 17, 19 (3 exemplaires)
Méthode ZeroR
Le modèle ZeroR base sa prédiction sur la classe majoritaire de l'ensemble d'entraînement. En cas d'égalité stricte comme ici (7 Oui, 7 Non), le choix dépend de l'ordre des variables déclaré dans le logiciel (Weka prédira par défaut la première étiquette lue). Quelle que soit l'étiquette choisie, le résultat restera mathématiquement symétrique.
Version 1 : Évaluation sur l'ensemble d'apprentissage
- Taux de classification correcte est : 7 / 14 = 50 % (Note : "Version 1" fait référence à l'évaluation du modèle sur les données d'entraînement, ce qui est le comportement par défaut de la première option d'évaluation dans des outils comme Weka).
Version 2 : Évaluation sur l'ensemble de test
- Induction du classeur ; la classe la plus fréquente selon Xtrain : Égalité parfaite (Oui ou Non).
- Taux de classification correcte sur Xtest : Que ZeroR choisisse toujours "Oui" ou toujours "Non", il devinera correctement 3 instances sur les 6 de l'ensemble de test. Le taux est donc de 3 / 6 = 50 %.
- Résultats avec Weka (Version 2) : 50 %
Méthode OneR
Pour cette méthode, nous concevons un classeur simple (une règle d'une condition) pour chacun des 4 attributs basés sur Xtrain, en sélectionnant à chaque fois la classe majoritaire pour chaque valeur d'attribut.
Tableau de calcul pour OneR sur Xtrain
| Nom de l'attribut | Valeur (xi) | Pr[y=oui | xi, Xtrain] | Pr[y=non | xi, Xtrain] | Nombre d'exemplaires (xi) | Décision du classeur | Taux de classif. correcte sur Xtrain par valeur |
|---|---|---|---|---|---|---|
| Ciel (i=1) | Ensoleillé | 2 / 5 | 3 / 5 | 5 | Non | 3 / 5 |
| Couvert | 3 / 4 | 1 / 4 | 4 | Oui | 3 / 4 | |
| Pluie | 2 / 5 | 3 / 5 | 5 | Non | 3 / 5 | |
| Total Ciel | 14 | (3+3+3)/14 = 9/14 (64,28 %) | ||||
| Température (i=2) | Chaude | 2 / 4 | 2 / 4 | 4 | Égalité (Oui/Non) | 2 / 4 |
| Tiède | 2 / 6 | 4 / 6 | 6 | Non | 4 / 6 | |
| Fraiche | 3 / 4 | 1 / 4 | 4 | Oui | 3 / 4 | |
| Total Temp. | 14 | (2+4+3)/14 = 9/14 (64,28 %) | ||||
| Humidité (i=3) | Élevée | 2 / 7 | 5 / 7 | 7 | Non | 5 / 7 |
| Normale | 5 / 7 | 2 / 7 | 7 | Oui | 5 / 7 | |
| Total Humidité | 14 | (5+5)/14 = 10/14 (71,43 %) | ||||
| Vent (i=4) | Fort | 2 / 6 | 4 / 6 | 6 | Non | 4 / 6 |
| Faible | 5 / 8 | 3 / 8 | 8 | Oui | 5 / 8 | |
| Total Vent | 14 | (4+5)/14 = 9/14 (64,28 %) |
Choix du classeur et évaluation
L'attribut générant le moins d'erreurs sur l'échantillon d'apprentissage est l'Humidité (10 bonnes prédictions sur 14). La règle retenue est :
- Si Humidité = Élevée, alors Non.
- Si Humidité = Normale, alors Oui.
Évaluons cette règle sur Xtest (exemplaires 15 à 20) :
- 15 : Humidité Élevée -> Prédit Non (Vraie classe = Oui) => Erreur
- 16 : Humidité Élevée -> Prédit Non (Vraie classe = Non) => Correct
- 17 : Humidité Élevée -> Prédit Non (Vraie classe = Non) => Correct
- 18 : Humidité Normale -> Prédit Oui (Vraie classe = Oui) => Correct
- 19 : Humidité Normale -> Prédit Oui (Vraie classe = Non) => Erreur
- 20 : Humidité Élevée -> Prédit Non (Vraie classe = Oui) => Erreur
Résumé des réponses textuelles :
- Finalement, on choisit le classeur basé sur l’attribut : Humidité
- Taux de classification correcte du classeur final sur Xtest : 3 / 6 = 50 %
- Résultats avec Weka (attribut choisit et taux de classif) : Humidité et 50 %
Méthode NaiveBayes
Pour la méthode Naïve Bayes, nous extrayons d'abord les probabilités conditionnelles simples (vraisemblances) en utilisant Xtrain (où y = oui apparaît 7 fois, et y = non apparaît 7 fois).
Induction du classeur (Probabilités)
| Nom de l'attribut | Valeur (xi) | Classe : jouer = oui (Total = 7, Pr = 7/14 = 0,5) | Classe : jouer = non (Total = 7, Pr = 7/14 = 0,5) | ||
|---|---|---|---|---|---|
| Nb d'exemplaires (xi|oui) | Pr [xi | y=oui] | Nb d'exemplaires (xi|non) | Pr [xi | y=non] | ||
| Ciel | Ensoleillé | 2 | 2 / 7 | 3 | 3 / 7 |
| Couvert | 3 | 3 / 7 | 1 | 1 / 7 | |
| Pluie | 2 | 2 / 7 | 3 | 3 / 7 | |
| Température | Chaude | 2 | 2 / 7 | 2 | 2 / 7 |
| Tiède | 2 | 2 / 7 | 4 | 4 / 7 | |
| Fraiche | 3 | 3 / 7 | 1 | 1 / 7 | |
| Humidité | Élevée | 2 | 2 / 7 | 5 | 5 / 7 |
| Normale | 5 | 5 / 7 | 2 | 2 / 7 | |
| Vent | Fort | 2 | 2 / 7 | 4 | 4 / 7 |
| Faible | 5 | 5 / 7 | 3 | 3 / 7 |
Évaluation du classeur sur Xtest
Pour un nouvel exemplaire, le score de chaque classe correspond au produit de la probabilité a priori Pr[y] par toutes les probabilités conditionnelles Pr[xi|y]. Nous calculons cela en base fractionnaire pour éviter les arrondis intermédiaires (dénominateur commun pour les probabilités : 2 × 7⁴ = 4802).
-
Exemplaire 15 : Ensoleillé, Tiède, Élevée, Faible (Vrai = Oui)
- Score(Oui) = (1/2) × (2/7) × (2/7) × (2/7) × (5/7) = 40 / 4802 ≈ 0,0083
- Score(Non) = (1/2) × (3/7) × (4/7) × (5/7) × (3/7) = 180 / 4802 ≈ 0,0375
- Prédiction : Non (Erreur)
-
Exemplaire 16 : Pluie, Tiède, Élevée, Faible (Vrai = Non)
- Score(Oui) = (1/2) × (2/7) × (2/7) × (2/7) × (5/7) = 40 / 4802
- Score(Non) = (1/2) × (3/7) × (4/7) × (5/7) × (3/7) = 180 / 4802
- Prédiction : Non (Correct)
-
Exemplaire 17 : Couvert, Fraiche, Élevée, Fort (Vrai = Non)
- Score(Oui) = (1/2) × (3/7) × (3/7) × (2/7) × (2/7) = 36 / 4802 ≈ 0,0075
- Score(Non) = (1/2) × (1/7) × (1/7) × (5/7) × (4/7) = 20 / 4802 ≈ 0,0041
- Prédiction : Oui (Erreur)
Exemplaire 18 : Pluie, Tiède, Normale, Faible (Vrai = Oui)
- Score(Oui) = (1/2) × (2/7) × (2/7) × (5/7) × (5/7) = 100 / 4802 ≈ 0,0208
- Score(Non) = (1/2) × (3/7) × (4/7) × (2/7) × (3/7) = 72 / 4802 ≈ 0,0150
- Prédiction : Oui (Correct)
Exemplaire 19 : Ensoleillé, Tiède, Normale, Fort (Vrai = Non)
- Score(Oui) = (1/2) × (2/7) × (2/7) × (5/7) × (2/7) = 40 / 4802 ≈ 0,0083
- Score(Non) = (1/2) × (3/7) × (4/7) × (2/7) × (4/7) = 96 / 4802 ≈ 0,0200
- Prédiction : Non (Correct)
Exemplaire 20 : Couvert, Fraiche, Élevée, Faible (Vrai = Oui)
- Score(Oui) = (1/2) × (3/7) × (3/7) × (2/7) × (5/7) = 90 / 4802 ≈ 0,0187
- Score(Non) = (1/2) × (1/7) × (1/7) × (5/7) × (3/7) = 15 / 4802 ≈ 0,0031
- Prédiction : Oui (Correct)
Le classeur devine juste sur 4 des 6 exemplaires de test (16, 18, 19, 20).
- Taux de classification correcte du classeur sur Xtest : 4 / 6 = 66,67 %
- Résultats avec Weka (taux de classif. correcte) : 66,67 %
Méthode
Lorsque vous traitez manuellement des algorithmes de classification de données (Data Mining) sur de petits ensembles, l'ordre et l'exactitude des décomptes sont primordiaux.
- Vérifiez toujours vos échantillons : Avant même de regarder les attributs, comptez la distribution cible (la classe
y). Une égalité parfaite comme celle trouvée dans cet exercice pour ZeroR piège souvent les étudiants qui s'attendent à une asymétrie. Assumez le comportement de l'algorithme face au bris d'égalité (souvent le premier label). - Conservez les fractions : Ne convertissez jamais vos probabilités en valeurs décimales avant l'étape finale du classement. L'algorithme de Naive Bayes multiplie beaucoup de petites probabilités, ce qui peut engendrer d'importantes erreurs d'arrondis ou forcer une division par zéro prématurée. Un score sous la forme
40/4802contre180/4802permet une comparaison rapide des numérateurs sans avoir besoin d'une calculatrice. - Appliquez rigoureusement les matrices d'entraînement au test : Il est tentant de recalculer les probabilités sur l'ensemble entier, mais une séparation explicite Xtrain/Xtest dans l'énoncé vous oblige à évaluer le vecteur testé avec le modèle strict généré exclusivement par les données d'apprentissage.
Commentaires
Aucun commentaire pour le moment. Posez la première question.