1 Chargement des données et packages

Recharger les données spam à l’aide de la commande suivante :

Charger le package randomForest ou l’installer puis le charger le cas échéant, puis consulter l’aide de la fonction randomForest() :

Créer un objet n contenant le nombre d’individus, et p le nombre de variables.

2 Bagging

Créer un prédicteur du Bagging, nommé bag, avec arbres non-élagués à l’aide de la fonction randomForest(). Dans un premier temps, on conservera le nombre d’arbres par défaut (500). Noter son erreur OOB (donné directement en sortie).

## 
## Call:
##  randomForest(formula = type ~ ., data = spam, mtry = p) 
##                Type of random forest: classification
##                      Number of trees: 500
## No. of variables tried at each split: 57
## 
##         OOB estimate of  error rate: 5.17%
## Confusion matrix:
##         nonspam spam class.error
## nonspam    2684  104  0.03730273
## spam        134 1679  0.07391065

3 RF-RI avec valeurs par défaut

Faire de même avec rf un prédicteur des forêts aléatoires, où le nombre de variables sélectionnées à chaque noeud est laissé à sa valeur par défaut (\(\sqrt{p}\) ici, car on est en classification). Noter son erreur OOB et commenter.

## 
## Call:
##  randomForest(formula = type ~ ., data = spam) 
##                Type of random forest: classification
##                      Number of trees: 500
## No. of variables tried at each split: 7
## 
##         OOB estimate of  error rate: 4.69%
## Confusion matrix:
##         nonspam spam class.error
## nonspam    2707   81  0.02905308
## spam        135 1678  0.07446222
## 
## Call:
##  randomForest(x = x, y = y) 
##                Type of random forest: classification
##                      Number of trees: 500
## No. of variables tried at each split: 7
## 
##         OOB estimate of  error rate: 4.63%
## Confusion matrix:
##         nonspam spam class.error
## nonspam    2704   84  0.03012912
## spam        129 1684  0.07115279

Appliquer la fonction plot() à l’objet de classe randomForest résultat.

4 Réglage des paramètres

4.1 Nombre d’arbres

Pour le paramètre du nombre d’arbres, il suffit de s’assurer que celui-ci n’est pas trop petit. Il faut dans le plot(rf) regarder si l’erreur OOB s’est bien stabilisée. Si on observe une courbe encore décroissante, il faut augmenter le nombre d’arbres.

4.2 Nombre de variables sélectionnées à chaque noeud

Régler le paramètre du nombre de variables sélectionnées à chaque noeud au mieux, en laissant le nombre d’arbres par défaut.