Autres thèmes

Cet article aborde les sujets suivants:

  • interpréter les forêts d'arbres décisionnels ;
  • entraîner des forêts d'arbres décisionnels
  • Avantages et inconvénients des forêts d'arbres décisionnels

Interpréter les forêts d'arbres décisionnels

Les forêts d'arbres décisionnels sont plus complexes à interpréter que les arbres de décision. Les forêts d'arbres décisionnels contiennent des arbres de décision entraînés avec du bruit aléatoire. Il est donc plus difficile de porter un jugement sur la structure de l'arbre de décision. Toutefois, nous pouvons interpréter les modèles de forêt aléatoire de plusieurs façons.

Une approche pour interpréter une forêt d'arbres aléatoires consiste simplement à entraîner et à interpréter un arbre de décision avec l'algorithme CART. Étant donné que la forêt d'arbres aléatoires et l'arbre CART sont entraînés avec le même algorithme de base, ils "partagent la même vue globale" du jeu de données. Cette option convient aux ensembles de données simples et permet de comprendre l'interprétation globale du modèle.

Les importances des variables constituent une autre bonne approche d'interprétation. Par exemple, le tableau suivant classe l'importance des variables de différentes caractéristiques pour un modèle de forêt aléatoire entraîné sur l'ensemble de données Census (également appelé Adult).

Tableau 8. Importance des variables de 14 caractéristiques différentes.

Fonctionnalité Score total Diminution moyenne de la précision Diminution moyenne de l'AUC Profondeur moyenne minimale Num nodes Diminution moyenne de l'AUC PR Num en tant que racine
relation

4203592,6

0,0045

0,0172

4,970

57040

0,0093

1095

capital_gain

3363045.1

0,0199

0,0194

2,852

56468

0,0655

457

marital_status

3128996.3

0,0018

0,0230

6,633

52391

0,0107

750

age

2520658,8

0,0065

0,0074

4,969

356784

0,0033

200

education

2015905.4

0,0018

-0,0080

5,266

115751

-0,0129

205

occupation

1939409.3

0,0063

-0,0040

5,017

221935

-0,0060

62

education_num

1673648,4

0,0023

-0,0066

6,009

58303

-0,0080

197

fnlwgt

1564189.0

-0,0002

-0,0038

9,969

431987

-0,0049

0

hours_per_week

1333976,3

0,0030

0,0007

6,393

206526

-0,0031

20

capital_loss

866863,8

0,0060

0,0020

8.076

58531

0,0118

1

workclass

644208.4

0,0025

-0,0019

9,898

132196

-0,0023

0

native_country

538841.2

0,0001

-0,0016

9,434

67211

-0,0058

0

sex

226049.3

0.0002

0.0002

10,911

37754

-0,0011

13

race

168180,9

-0,0006

-0,0004

11,571

42262

-0,0031

0

Comme vous pouvez le constater, les différentes définitions de l'importance des variables ont des échelles différentes et peuvent entraîner des différences dans le classement des caractéristiques.

L'importance des variables provenant de la structure du modèle (par exemple, la somme des scores, la profondeur minimale moyenne, le nombre de nœuds et le nombre en tant que racine dans le tableau ci-dessus) est calculée de manière similaire pour les arbres de décision (voir la section "Cart | Importance des variables") et les forêts aléatoires.

L'importance des variables de permutation (par exemple, la diminution moyenne de {accuracy, auc, pr-auc} dans le tableau ci-dessus) sont des mesures indépendantes du modèle qui peuvent être calculées sur n'importe quel modèle de machine learning avec un ensemble de données de validation. Toutefois, avec la forêt d'arbres aléatoires, au lieu d'utiliser un ensemble de données de validation, vous pouvez calculer l'importance des variables de permutation avec une évaluation hors échantillon.

SHAP (SHapley Additive exPlanations) est une méthode indépendante du modèle pour expliquer les prédictions individuelles ou l'interprétation au niveau du modèle. (Pour en savoir plus sur l'interprétation indépendante du modèle, consultez Interpretable Machine Learning de Molnar.) SHAP est généralement coûteux à calculer, mais peut être considérablement accéléré pour les forêts de décision. Il s'agit donc d'un bon moyen d'interpréter les forêts de décision.

Exemple d'utilisation

Dans la leçon précédente, nous avons entraîné un arbre de décision CART sur un petit ensemble de données en appelant tfdf.keras.CartModel. Pour entraîner un modèle de forêt d'arbres décisionnels, remplacez simplement tfdf.keras.CartModel par tfdf.keras.RandomForestModel:

model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)

Avantages et inconvénients

Cette section contient un bref récapitulatif des avantages et des inconvénients des forêts aléatoires.

Avantages :

  • Comme les arbres de décision, les forêts d'arbres aléatoires acceptent nativement les caractéristiques numériques et catégorielles, et n'ont souvent pas besoin de prétraitement des caractéristiques.
  • Étant donné que les arbres de décision sont indépendants, les forêts d'arbres décisionnels peuvent être entraînées en parallèle. Par conséquent, vous pouvez entraîner des forêts aléatoires rapidement.
  • Les forêts aléatoires disposent de paramètres par défaut qui donnent souvent d'excellents résultats. L'ajustement de ces paramètres a souvent peu d'impact sur le modèle.

Inconvénients :

  • Étant donné qu'ils ne sont pas élagués, ils peuvent être volumineux. Les modèles comportant plus d'un million de nœuds sont courants. La taille (et donc la vitesse d'inférence) de la forêt aléatoire peut parfois poser problème.
  • Les forêts aléatoires ne peuvent pas apprendre et réutiliser les représentations internes. Chaque arbre de décision (et chaque branche de chaque arbre de décision) doit réapprendre le schéma de l'ensemble de données. Dans certains ensembles de données, en particulier les ensembles de données non tabulaires (par exemple, image, texte), les forêts aléatoires obtiennent de moins bons résultats que d'autres méthodes.