Exercice Machine learning
1 Partie 1 : Classification supervisée
Vous avez été embauché par le CIVB (comité interprofessionnel des vins de Bordeaux) pour mettre en place un algorithme qui permet de prévoir la qualité du vin en fonction de sa composition chimique. Vous disposez d’une base de données brute avec des références de vins de Bordeaux, chacune ayant été évaluée par des professionnel avec une note entre 1 et 10. A partir de 6, le vin est considéré comme bon, en dessous de 6, il est considéré comme mauvais.
Etape 1 : Dans l’onglet “données” : cliquer pour explorer la base de données sur les vins.
1.1 Combien d’individus dans la base de donnéees brute vins ?
1.2 Quelle est la variable à prédire ? De quel type est-elle ?
1.3 Les modalités de la variable à prédire ont-elles le même poids ?
1.4 Combien y a t il de variables prédictives ? De quel type sont-elles ?
1.5 Y a-t-il des données manquantes ?
Etape 2 : Dans l’onglet “préparation” : conserver 70 % de la base brute pour l’entraînement.
1.6 A quoi vont servir les bases d’entraînement et de validation ?
1.7 A quoi sert la base de test ?
1.8 Quel est le poids des modalités de la variable à prédire dans la base d’entraînement ? Comparer avec la répartition dans la base brute.
1.9 Les variables prédictives ont-elles toutes les mêmes ordres de grandeur ?
Etape 3 : Dans l’onglet “préparation”, appliquer la recette suivante sur la base d’entraînement : “centrer-réduire les quantitatives” (en anglais : step_normalize).
1.10 Quels sont les effets de cette “recette” sur les variables prédictives de la base d’entraînement ?
Etape 4 : Dans l’onglet “modèle”, choisir la régression logistique et ajuster le modèle sur la base d’entraînement.
1.11 Quelle est la différence entre une estimation et une prévision ?
1.12 A partir de quel seuil de probabilité défini par défaut, un vin est estimé comme bon ou mauvais ?
1.13 Quel indicateur nous donne des informations sur la qualité du modèle ?
Etape 5 : Dans l’onglet “Validation”, évaluer la performance du modèle retenu précédemment (modèle 1 : régression logistique sur la base centrée réduite).
1.14 Combien d’individus sont classés dans la table de confusion ? A quelle base ces individus appartiennent-ils ?
1.15 A partir de la table de confusion, recalculer les valeurs des trois indicateurs suivants : exactitude, sensibilité, spécificité.
Exactitude :
Sensibilité :
Spécificité :
1.16 Compléter le tableau suivant avec les performances de ce première modèle.
| Modèle testé | Exactitude | Sensibilité | Spécificité | AUC |
|---|---|---|---|---|
| Modèle 1 : Regression logistique |
Etape 6 : Revenir sur l’onglet “modèle” : choisir l’arbre et ajuster votre modèle sur les données d’entraînement (modèle 2 sur la base centrée réduite).
1.17 Combien de variables prédictives sont utilisées par l’arbre de classification pour faire des estimations sur la base d’entraînement ?
1.18 Quelle variable a été choisie en premier pour séparer la population en deux ? Quel est la valeur seuil ?
1.19 Combien de feuilles cet arbre produit-il ? Quelle est sa profondeur ?
Etape 7 : Dans l’onglet “Validation”, évaluer les performances du modèle 2 sur la base centrée réduite.
1.20 Compléter le tableau suivant avec les performances de ce deuxi-me modèle.
| Modèle testé | Exactitude | Sensibilité | Spécificité | AUC |
|---|---|---|---|---|
| Modèle 1 : Regression logistique | ||||
| Modèle 2 : arbre de classification |
1.21 Si vous privilégiez l’exactitude, quel modèle est le plus performant ? Si vous privilégiez la spécificité, quel modèle faut-il choisir ?
Etape 8 : Ajuster la forêt aléatoire sur la base d’entraînement (dans l’onglet validation) et evaluer la performance du modèle.
1.22 Combien d’arbres ont été construits par défaut par l’algorithme ?
1.23 De combien de variables sont constitués chaque arbre de classification ? Est-ce que ce sont à chaque fois les mêmes variables ?
1.24 Noter les indicateurs de performance de ce troisième modèle dans le tableau comparatif ci-dessous :
| Modèle testé | Exactitude | Sensibilité | Spécificité | AUC |
|---|---|---|---|---|
| Modèle 1 : Regression logistique | ||||
| Modèle 2 : arbre de classification | ||||
| Modèle 3 : forêt aléatoire |
Etape 9 : Ajuster le KNN (modèle des plus proches voisins) sur la base d’entraînement (dans l’onglet validation) et évaluer la performance du modèle.
1.25 Quelle valeur par défaut de K a été retenue dans le modèle des plus proches voisins ?
1.26 Noter les indicateurs dans le tableau comparatif des modèles
| Modèle testé | Exactitude | Sensibilité | Spécificité | AUC |
|---|---|---|---|---|
| Modèle 1 : Regression logistique | ||||
| Modèle 2 : arbre de classification | ||||
| Modèle 3 : forêt aléatoire | ||||
| Modèle 4 : KNN |
1.27 Quel modèle est le plus performant selon les différents indicateurs de performance retenus ?
Etape 10 : Sélectionner le modèle le plus performant que vous avez retenu précemment (dans l’onglet “modèle”), et dans l’onglet “généralisation”, ajuster le modèle.
1.28 La base de test a-t-elle été utilisée pour construire le modèle final ?
Vous êtes le gouverneur de Grandile, la plus grande île de l’archipel de Ceph’ile. Vous disposez d’une base de données avec des informations sur 5 418 ménages habitants à Grandile, et notamment vous savez si ce ménage est pauvre ou non. Vous voulez être en capacité de prédire si un nouveau ménage est pauvre à partir des informations socio-économiques que vous aurez collectées.
| Modèle testé | Exactitude | Sensibilité | Spécificité | AUC |
|---|---|---|---|---|
| Modèle 1 : Regression logistique | 99 % | 100 % | 98 % | 1 |
| Modèle 2 : arbre de classification | 99 % | 100 % | 94 % | 0,98 |
| Modèle 3 : forêt aléatoire | 99 % | 100 % | 98 % | 1 |
| Modèle 4 : KNN | 99 % | 99 % | 98 % | 1 |
1.29 Y a t il un modèle nettement plus performant que les autres pour prédire si un ménage est pauvre à Grandile ?
1.30 Quel autre critère peut entrer en jeu dans le choix d’un modèle avant de le généraliser ?
2 Partie 2 : Régression supervisée
Vous cherchez à prévoir le niveau de pollution à Rennes à partir de donnnées sur les températures, nébulosité et le niveau de pollution de la veille. Le niveau de pollution se mesure par le taux d’ozone, les relevés de températures se font à plusieurs heures de la journée, tout comme la mesure de la nébulosité (durée d’ensoleillement). Dans la base de données ozone, vous disposez de plus d’un millier de relevés qui ont été effectués, à partir desquels vous devez élaborer le modèle de prévision le plus performant possible.
Etape 1 : Dans l’onglet “données” : cliquer pour explorer la base de données ozone.
2.1 Combien de relevés ont été effectués ?
2.2 Quelle est la variable à prédire ?
2.3 Combien y a t il de variables prédictives ? De quels types sont-elles ?
2.4 Y a t il des données manquantes dans la base brute ?
Etape 2 : Dans l’onglet “préparation” : conserver 70 % de la base brute pour l’entraînement.
2.5 Y a t il des données manquantes dans la base d’entraînement ?
Etape 3 : Dans l’onglet “modèle”, choisir la forêt aléatoire et ajuster le modèle sur la base d’entraînement.
2.6 Regarder le message dans la console de R Studio. Que s’est-il passé ?
2.7 Que faire quand il y a des valeurs manquantes dans vos variables prédictives ? (plusieurs possibilités)
Etape 4 : Dans l’onglet préparation, choisir la recette “imputation avec la moyenne” que vous appliquez sur la base d’entraînement.
2.8 Y a t il encore des données manquantes ?
Etape 5 : Dans l’onglet modèle, choisir à nouveau la forêt aléatoire et ajuster le modèle sur la base d’entraînement.
2.9 Combien d’arbres de regression ont été générés par cette méthode ? De combien de variables sont-ils constitués ?
2.10 Calculer le RSS, le MSE et le RMSE à partir de l’estimation et de la vraie valeur observée des deux premiers individus du tableau seulement.
Etape 6 : Dans l’onglet validation, évaluer les performances de ce premier modèle (forêt aléatoire) appliqué sur la base transformée (imputation des valeurs manquantes)
2.11 Noter les indicateurs de performance de ce premier modèle dans le tableau comparatif ci-dessous :
| Modèle testé | RSS | MSE | RMSE | R² |
|---|---|---|---|---|
| Modèle 1 : Forêt aléatoire |
2.12 Ce modèle a t il de bonnes capacités prédictives ?
Etape 7 : Dans les onglets modèles et validation, ajuster les autres algorithmes sur la base d’entraînement, et évaluer leurs performances.
2.13 Compléter le tableau ci-dessous avec les performances des autres modèles :
| Modèle testé sur la base avec imputation par la moyenne | RSS | MSE | RMSE | R² |
|---|---|---|---|---|
| Modèle 1 : Forêt aléatoire1 | ||||
| Modèle 2 : Arbre de regression | ||||
| Modèle 3 : Régression linéaire | ||||
| Modèle 4 : KNN |
2.14 Quel algorithme est le plus performant pour prédire ?
Etape 8 : dans l’onglet “généralisation”, ajuster la forêt aléatoire sur la base d’entraînement et la base de validation.
2.15 Le R² se rapproche de 1. Etait-ce prévisible ?
En tant que gouverneur de Grandile, vous souhaitez disposer du maximum d’information sur vos résidents. Notamment, vous voulez connaître leurs revenus disponibles, information que les Grandiliens ne sont pas toujours disposés à donner.
A partir de la base de données grandile, votre mission est de choisir l’algorithme le plus performant pour prédire le revenu disponible d’un ménage à partir des autres informations socio-économiques.
2.16 Compléter le tableau pour comparer les performances des algorithmes.
| Modèle testé sur la base avec imputation par la moyenne | RMSE | R² |
|---|---|---|
| Modèle 1 : Forêt aléatoire2 | ||
| Modèle 2 : Arbre de regression | ||
| Modèle 3 : Régression linéaire | ||
| Modèle 4 : KNN |