Programmation pour l’IA
On suppose qu’on cherche à construire un arbre de décisions pour une problème de classification binaire (à deux classes \(-1\) et \(1\)). Le jeu de données qu’on souhaite utiliser pour l’entraînement contient 90% d’exemples de classe \(1\). Expliquez pourquoi cela est un problème. Comment pourrait-on palier ce problème ?
Expliquez pourquoi il n’est pas toujours possible d’arrêter la construction d’un arbre de décision lorsqu’il n’y a plus qu’une seule classe représentée. Donnez un exemple concret où cette condition d’arrêt mène à une boucle infinie.
On considère le jeu de données \(D\) suivant (trié sur “a”, “b” et “classe”).
| a | b | classe |
|---|---|---|
| 1 | 7 | 0 |
| 2 | 0 | 2 |
| 2 | 3 | 0 |
| 3 | 2 | 0 |
| 3 | 9 | 1 |
| 5 | 0 | 0 |
| 5 | 1 | 2 |
| 7 | 5 | 2 |
| 8 | 5 | 2 |
| 9 | 8 | 2 |
| 9 | 9 | 1 |
| a | b | classe |
|---|---|---|
| 2 | 0 | 2 |
| 5 | 0 | 0 |
| 5 | 1 | 2 |
| 3 | 2 | 0 |
| 2 | 3 | 0 |
| 8 | 5 | 2 |
| 7 | 5 | 2 |
| 1 | 7 | 0 |
| 9 | 8 | 2 |
| 9 | 9 | 1 |
| 3 | 9 | 1 |
| a | b | classe |
|---|---|---|
| 1 | 7 | 0 |
| 5 | 0 | 0 |
| 3 | 2 | 0 |
| 2 | 3 | 0 |
| 9 | 9 | 1 |
| 3 | 9 | 1 |
| 9 | 8 | 2 |
| 2 | 0 | 2 |
| 8 | 5 | 2 |
| 7 | 5 | 2 |
| 5 | 1 | 2 |
On rappelle que \(gini(D) = 1-\sum_{c} (|D_c|/|D|)^2\) oĂą \(D_c\) est le sous-ensemble de \(D\) dont la classe est \(c\).