TD 3 Classification
Exercice 1
Vous êtes chargé de développer un modèle de classification naïve bayésienne pour prédire si
un étudiant réussira un examen en fonction de trois caractéristiques :
Travail (Dur, Moyen, Faible)
Heures d'Étude (Elevé, Moyen, Faible)
Participation en Classe (Oui, Non)
Les données d'entraînement sont les suivantes :
Travail Heures d'Étude Participation Réussite
Dur Elevé Oui Oui
Dur Moyen Oui Oui
Dur Faible Non Non
Moyen Elevé Oui Oui
Moyen Moyen Non Non
Faible Moyen Oui Non
Faible Faible Non Non
Moyen Faible Oui Oui
Vous voulez prédire si un étudiant ayant les caractéristiques suivantes réussira l'examen :
Travail : Moyen
Heures d'Étude : Moyen
Participation : Oui
Exercice 2 : SVM
x1 x2 y
Considérons le jeu de données suivant avec les points X et leurs étiquettes y : 1 2 1
2 3 1
3 4 -1
4 5 -1
Supposons que les multiplicateurs de Lagrange αi sont : α1=0.5 ; α2=0.5 ; α3=0 ; α4=0
Ce qui signifie que les points x1 et x2 sont des vecteurs de support.
1. Entraînez un SVM linéaire pour classifier ces points, en calculons :
Le noyau K, qui correspond aux produits scalaires entre les points.
Le vecteur normal w de l'hyperplan séparateur.
Le biais b.
Déduire l’équation de l'hyperplan
2. Prédisez la classe du point (3,3).
1
Exercice 3 : Arbre de décision (ID3)
Considérons l'ensemble de données suivant, où nous voulons prédire si une personne doit
"Faire une promenade" en fonction de deux attributs : "Temps" et "Température".
Temps Température Faire une promenade
Ensoleillé Chaud Oui
Ensoleillé Froid Non
Nuageux Chaud Oui
Nuageux Froid Non
Pluvieux Chaud Non
Pluvieux Froid Non
Utilisez l'algorithme ID3 pour construire un arbre de décision basé sur cet ensemble de
données.
Générer les règles de décision
Soit l’ensemble de validation suivant :
Temps Température Faire une promenade
Ensoleillé Chaud Non
Pluvieux Froid Oui
Nuageux Froid Oui
Nuageux Chaud Non
Nuageux Froid Non
Ensoleillé Froid Oui
- Calculer les métriques d'évaluation de ce modèle et interpréter les résultats
- Valider le modèle par 3-kross validation
2
Corrigé
Exercice 1
Étapes pour résoudre l'exercice
1. Calculez les probabilités a priori de chaque classe (Réussite = Oui, Réussite = Non).
2. Calculez les probabilités conditionnelles pour chaque caractéristique en fonction de
chaque classe.
3. Appliquez le théorème de Bayes pour calculer les probabilités a posteriori de chaque
classe pour l’instance cible.
4. Prédisez la classe pour l'instance cible.
Solution
Étape 1 : Calcul des Probabilités A Priori
Nombre total d'exemples = 8
Nombre d'exemples avec Réussite = Oui = 4
Nombre d'exemples avec Réussite = Non = 4
Les probabilités a priori sont donc :
Étape 2 : Calcul des Probabilités Conditionnelles
Pour chaque caractéristique, nous calculons les probabilités conditionnelles pour chaque
classe.
3
Étape 3 : Application du Théorème de Bayes
Calculons maintenant les probabilités a posteriori pour chaque classe.
Pour la classe Réussite = Oui
P(Réussite = Oui | Travail = Moyen, Heures d’Etude = Moyen, Participation = Oui) =
P(Réussite = Oui) × P(Travail = Moyen | Réussite = Oui) ×
P(Heures d’Etude = Moyen | Réussite = Oui) × P(Participation = Oui | Réussite = Oui)
Substituons les valeurs :
= 0.5 × 0.25 × 0.25 × 0.75
= 0.5 × 0.046875 = 0.0234375
Pour la classe Réussite = Non
P(Réussite = Non | Travail = Moyen, Heures d’Etude = Moyen, Participation = Oui) =
P(Réussite = Non) × P(Travail = Moyen | Réussite = Non) ×
P(Heures d’Eˊtude = Moyen | Réussite = Non) × P(Participation = Oui | Réussite = Non)
Substituons les valeurs :
= 0.5 × 0.25 × 0.5 × 0.25= 0.5
= 0.5 × 0.03125 = 0.015625
4
Étape 4 : Comparaison des Probabilités a Posteriori
Puisque 0.0234375 > 0.015625, l'algorithme prédit que cet étudiant a plus de chances de
réussir l'examen avec les caractéristiques fournies.
Exercice 2
1. Entrainement du SVM linéaire
a) Le noyau K
Le noyau dans le cas d'un SVM linéaire est simplement le produit scalaire entre les points xi
et xj. Donc, pour le noyau K, nous devons calculer Kij = xi ⋅ xj pour chaque paire de points.
Les points sont :
x1 = (1,2)
x2 = (2,3)
x3 = (3,4)
x4 = (4,5)
Nous calculons le produit scalaire pour chaque paire :
En effectuant les calculs des produits scalaires entre chaque paire de points, nous obtenons la
matrice K :
5
b) Calcul du vecteur w
Le vecteur w est calculé en fonction des multiplicateurs de Lagrange αi et des points xi. La
formule pour w est la suivante :
6
c) Calcul du biais b
Une fois que nous avons w, nous pouvons calculer le biais b en utilisant l'une des conditions
qui doivent être respectées par les points de support, c'est-à-dire que pour un point de support
xi, nous avons :
d) Equation de l'hyperplan
L'équation de l'hyperplan séparateur est donc :
7
2) Prédiction de la classe du point (3,3)
Le calcul du produit scalaire et du biais pour le point (3,3) est le suivant :
W ⋅ x + b = 1 ⋅ 3 + 1 ⋅ 3 -3 = 6 - 3 = 3
Puisque w ⋅ x + b > 0, le point (3,3) appartient à la classe +1.
Exercice 3
1) Arbre de décision
Étape 1 : Calculer l'entropie initiale
Calculez l'entropie de l'ensemble de données pour l'attribut "Faire une promenade".
Oui: 2
Non: 4
Total des instances : 6
8
9
Arbre de Décision Final
Temps?
/ | \
Ensoleillé Nuageux Pluvieux
/ \ / \
Oui Non Oui Non
10
Règles de Décision
1) Si Temps = Ensoleillé: Faire une promenade = Non
2) Si Temps = Nuageux: Faire une promenade = Oui
3) Si Temps = Pluvieux: Faire une promenade = Non
2. Évaluation du Modèle
En utilisant l'ensemble de validation :
Temps Température Faire une promenade (Réel) Faire une promenade (Prédit)
Ensoleillé Chaud Non Oui
Pluvieux Froid Oui Non
Nuageux Froid Oui Non
Nuageux Chaud Non Oui
Nuageux Froid Non Non
Ensoleillé Froid Oui Non
Matrice de Confusion :
Prédit Oui Prédit Non
Réel Oui 0 3
Réel Non 2 1
Précision : Précision = 0
Rappel : Rappel = 0
F1-Score : Le F1-score est indéfini si la précision et le rappel sont tous deux nuls, donc nous
le considérons comme 0.
3. Validation par 3-Fold Cross Validation
Nous allons effectuer une validation croisée avec k=3 sur l'ensemble de données
d'entraînement initial.
1. Division des données en 3 folds :
o Fold 1 : (Ensoleillé, Chaud, Oui), (Ensoleillé, Froid, Non)
o Fold 2 : (Nuageux, Chaud, Oui), (Nuageux, Froid, Non)
o Fold 3 : (Pluvieux, Chaud, Non), (Pluvieux, Froid, Non)
2. Validation Croisée :
o Fold 1 comme ensemble de validation :
Entraînement : {Fold 2, Fold 3}
Modèle : "Température" est la racine (voir l'arbre de décision
précédent)
Validation : Prédiction correcte pour Ensoleillé, Froid, Non ; Prédiction
incorrecte pour Ensoleillé, Chaud, Oui
o Fold 2 comme ensemble de validation :
11
Entraînement : {Fold 1, Fold 3}
Modèle : "Température" est la racine (voir l'arbre de décision
précédent)
Validation : Prédiction correcte pour Nuageux, Froid, Non ; Prédiction
incorrecte pour Nuageux, Chaud, Oui
o Fold 3 comme ensemble de validation :
Entraînement : {Fold 1, Fold 2}
Modèle : "Température" est la racine (voir l'arbre de décision
précédent)
Validation : Prédiction correcte pour Pluvieux, Froid, Non ; Prédiction
incorrecte pour Pluvieux, Chaud, Non
3. Calcul des Précisions :
Précision pour Fold 1 : 1/2 = 0.5
Précision pour Fold 2 : 1/2 = 0.5
Précision pour Fold 3 : 1/2 = 0.5
Précision Moyenne :
Précision Moyenne = (0.5+0.5+0.53) = 0.5, ce qui indique une performance modérée
12