TD de Révision ML

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

TD de révision pour l’examen final

Questions de cours :

1. Qu’est-ce que le machine learning ?


R : Le machine learning consiste à programmer des algorithmes permettant d'apprendre
automatiquement de données et d'expériences passées, un algorithme cherchant à résoudre
au mieux un problème considéré.
2. Dans quel cas on fait appel au machine learning ?
R : problème pour lequel nous ne disposons pas d’algorithme ou problème pour lequel
l’algorithme existe mais il a une complexité élevée.
3. Donnez les principaux domaines d’application du machine learning.
R : la fouille des données, la reconnaissance des formes.
4. Donnez une classification des types de problèmes de machine learning.
R : Supervisé, non supervisé, par ré-enforcement, par transfert.
5. En quoi consiste un problème d’apprentissage supervisé ?
R : il s'agit donc de définir et d'estimer des modèles de prédiction étant donnée un ensemble
d'objets et leurs valeurs cibles respectives.
6. Qu’est-ce qu’un problème de classification ? Donnez des exemples.
R : la cible est discrète. Ex : reconnaissance des caractères manuscrits. Reconnaissance des
spams, …
7. Citez des exemples d’algorithmes de classification.
R : Naïve Bayes, K-ppv, arbre de décision, SVM, …
8. Qu’est-ce qu’un problème de régression ?
R : la cible est continue. Ex : Prédire la valeur en bourse d’une action. Prédire une
température, …
9. En quoi consiste un problème d’apprentissage non supervisé ?
R : Nous considérons un ensemble d’observations (données). Nous ne donnons pas à la
machine les cibles. L’objectif de la machine est de créer à partir des données un
partitionnement (clustering) des données.
10. Citez des classes de problèmes d’apprentissage non supervisé.
R : Clustering, réduction de la dimensionnalité.
11. Citez un exemple d’algorithme de clustering et un exemple d’algorithme de réduction de la
dimensionnalité.
R : clustering : K-means, réduction de la dimensionnalité : ACP
12. Quels sont les composants clés d’une procédure d’apprentissage ?
R : les données, l’algorithme d’apprentissage (l’algorithme d’apprentissage produit un
modèle à partir des données).
13. Comment représente-t-on les données d’apprentissage dans un problème supervisé ?
R : une matrice X pour représenter les données d’observation et un vecteur Y pour
représenter les valeurs cibles.

1
14. Que représentent les lignes de la matrice X ci-dessus ?
R : chaque ligne une observation
15. Que représentent les colonnes de la matrice X ci-dessus ?
R : les valeurs des caractéristiques (features ou attributs) des observations.
16. Pourquoi Naïve Bayes est-il considéré comme étant « naïve » ?
R : Il fait une hypothèse d’indépendance entre les caractéristiques des observations.
17. A quoi correspond le modèle généré par l’algorithme naïve Bayes en classification ?
R : Une estimation des probabilités à posteriori des différentes classes.
18. Comment décide l’algorithme naïve Bayes de la classe à attribuer à une observation ?
R : La classe ayant la probabilité à posteriori max.
19. Décrivez le principe inductif de l’algorithme k-ppv en classification.
R : Etant donnée un nouvel objet x, la méthode consiste à déterminer les k plus proches
objets (annotés) et d'effectuer un vote à la majorité relative afin de déterminer la classe de x.
20. K-ppv peut-il être utilisé en régression ? Si oui décrivez le principe.
R : Oui.
Principe :

21. Quel est le principe de base de la construction d’un arbre de décision ?


R : construire un arbre minimal en cherchant.
22. Donnez le principe général de l’algorithme d’apprentissage par arbre de décision.
R:
1. Décider si un nœud est terminal, c’est-`a-dire décider si un nœud doit être étiqueté
comme une feuille ou porter un test.
2. Si un nœud n’est pas terminal, sélectionner un test à lui associer.
3. Si un nœud est terminal, lui affecter une classe.
23. Donnez l’algorithme générique d’apprentissage par arbre de décision sous forme d’un
pseudo-code.
R:
Algorithme d’apprentissage générique
entrée : échantillon S
début
Initialiser l’arbre courant à l’arbre vide ; la racine est le nœud courant
répéter
Décider si le nœud courant est terminal
Si le nœud est terminal alors
Lui affecter une classe
sinon
sélectionner un test et créer autant de nouveaux nœuds fils qu’il y a
de réponses possibles au test
finSi
passer au nœud suivant non exploré s’il en existe
Jusqu’à obtenir un arbre de décision
fin
24. Quels sont les deux algorithmes les plus importants d’apprentissage supervisé par arbre de
décision ?
R : CART et C4.5

2
CART utilise l’indice de Gini et C4.5 utilise la notion d’entropie. Donnez l’expression de ces
deux fonctions pour un échantillon S selon les classes de l’attribut cible.
R:

25. Vrai ou faux : K-ppv peut être utilisé en régression et une classification ?
R : vrai
26. Vrai ou faux : L’arbre de décision peut être utilisé en régression et en classification ?
R : vrai
27. Vrai ou faux : k-ppv est un algorithme d’apprentissage paramétrique ?
R : Faux.
28. Vrai ou faux : l’arbre de décision est un algorithme d’apprentissage paramétrique ?
R : Faux
29. Quels sont les facteurs entrant en jeu pour régler les problèmes de sous et de sur
apprentissage ?
R : richesse de l’espace d’hypothèse, taille de l’échantillon

Question sur Sickit-learn :

1. Qu’est-ce que le module sickit-learn ?


R : Bibliothèque qui couvre tous les aspects du machine learning
2. Pour représenter les données d’apprentissage dans un environnement Python, on utilise
quelles bibliothèques ? Quand choisir l’une ou l’autre ?
R : Numpy et Pandas.
Numpy : matrice homogène de nombres.
Pandas : table avec attributs hétérogènes.
3. Quelle méthode de l’algorithme d’apprentissage supervisé utilise-t-on pour créer un
modèle ?
R : fit
4. Quelle méthode de l’algorithme d’apprentissage supervisé utilise-t-on pour prédire une
observation ?
R : predict
5. A quoi sert la méthode train_test_split du module sklearn.model_selection ? Pourquoi faut-il
l’utiliser ?
R : séparation des données en dataset d’apprentissage et dataset de test.
On l’utilise pour obtenir des échantillons i.i.d
6. A quoi sert ce bout de code Python : from sklearn.metrics import accuracy_score
R : import des méthodes de mesure l’erreur et de la précision du modèle
7. Que fait le bout de code Python suivant :
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
R : sépare les données de X et y respectivement en deux partitions X_train, X_test et y_train,
y_test
8. Après exécution du code précédent, quel pourcentage de données sera placé dans X_train ?
R : 75% par défaut

3
Exercices
Exo 1 (théorique) :

1. Montrez qu’en apprentissage supervisé, la règle de classification de bayes est la meilleure


règle de classification.

R:

Exo 2 :

Les deux figures ci-dessus représente deux nuages de points en fonction de caractéristiques de fleurs
d’Iris.

1. Quelle est à priori la meilleure caractéristique discriminante des trois classes de fleurs ?

Exo 3 :

Après apprentissage sur un ensemble de données, le modèle obtenu donne une précision (taux de
réussite) égale à 0.97% sur les données d’apprentissage.

1. Est-ce une bonne chose de se tromper sur les données d’apprentissage ? Que peut-on
conclure ?

4
R:

C’est une bonne chose parce que le modèle n’a pas fait de sur apprentissage des données
d’apprentissage

Exo 4 :

Déduire de la matrice de confusion suivante le taux de réussite et le taux d’erreur d’un modèle de
machine learning :

[50, 0, 0],
[ 0, 47, 3],
[ 0, 3, 47]

R:

Taux de réussite = Somme diagonale /somme de toutes les cases = 0.96

Taux d’erreur = Somme des cases hors diagonale / somme de toutes les cases = 0.04

Exo 5 :

La figure suivante montre l’évolution de la précision de l’algorithme d’apprentissage k-ppv sur un


dataset.

1. Conclure.

R:

Meilleure précision pour k= 8

Exo 6 :

On considère la matrice de confusion suivante d’un modèle de machine learning à deux classes
(tumeur maligne et tumeur bénigne) :

5
1. Que représente la diagonale ?
2. Que représente la case supérieure droite ?
3. Que représente la case inférieure gauche ?
4. Calculez le taux de réussite du modèle ?
5. Calculer le taux de faux positifs
6. Calculez le taux de faux négatifs

Exo 7 :

On considère l’arbre de décision de la figure suivante tracée par la méthode plot_tree de


sklearn.tree.

1. Interprétez le contenu d’un nœud quelconque de cet arbre.


2. Considérez le test effectuée au niveau de la racine et expliquez le contenu du nœud gauche
en recoupant avec l’exercice 2.

6
Exo 8 :

Une banque dispose des informations suivantes sur un ensemble de clients :


Client M A R E I
1 moyen moyen village oui oui
2 élevé moyen bourg non non
3 faible âgé bourg non non
4 faible moyen bourg oui oui
5 moyen jeune ville oui oui
6 élevé âgé ville oui non
7 moyen âgé ville oui non
8 faible moyen village non non

1. Construisez l’arbre de décision correspondant à ce jeu de données, en utilisant l’indice de


Gini. (4 pts)
2. Construisez l’arbre de décision correspondant à ce jeu de données, en utilisant l’entropie.
(2 pts)
3. Comparez les arbres de décision obtenus en 1 et 2. (1 pt)

Vous aimerez peut-être aussi