Autres thèmes

Ce module traite des sujets suivants:

  • interprétation de forêts aléatoires
  • entraînement de forêts aléatoires
  • avantages et inconvénients des forêts d'arbres décisionnels

Interpréter les forêts aléatoires

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 un bruit aléatoire. Il est donc plus difficile de juger de la structure de l'arbre de décision. Toutefois, nous pouvons interpréter les modèles de forêt aléatoire de plusieurs manières.

Une approche pour interpréter une forêt aléatoire consiste à entraîner et à interpréter un arbre de décision à l'aide de l'algorithme CART. Étant donné que la forêt aléatoire et le CART sont entraînés avec le même algorithme principal, ils partagent la même vue globale de l'ensemble de données. Cette option fonctionne bien pour les ensembles de données simples et pour comprendre l'interprétation globale du modèle.

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

Tableau 8. Importance variable de 14 fonctionnalités différentes.

Extraction Score de somme Diminution moyenne de la précision de baisse de l'AUC Profondeur minimale moyenne Nombre de nœuds de baisse moyenne des PR-AUC Num en mode root
relationship

4 203 592,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

âge

2520658,8

0,0065

0,0074

4,969

356784

0,0033

200

éducation

2015905.4

0,0018

-0,0080

5,266

115751

-0,0129

205

occupation

1939 409,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,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

866 863,8

0,0060

0,0020

8,076

58531

0,0118

1

workclass

644 208,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

168 180,9

-0,0006

-0,0004

11,571

42262

-0,0031

0

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

Les importances des variables qui proviennent de la structure du modèle (par exemple, la somme, la profondeur moyenne minimale, le nombre de nœuds et le nombre total de racines dans le tableau ci-dessus) sont calculées de la même manière pour les arbres de décision (voir la section "Panier" | Importance variable) et les forêts aléatoires.

L'importance des variables de permutation (par exemple, la baisse moyenne de {accuracy, auc, pr-auc} dans le tableau ci-dessus) est une mesure indépendante du modèle qui peut être calculée sur n'importe quel modèle de machine learning doté d'un ensemble de données de validation. Avec une forêt aléatoire, au lieu d'utiliser un ensemble de données de validation, vous pouvez calculer l'importance des variables de permutation avec l'évaluation initiale.

SHAP (SHapley Additive exPlanations) est une méthode indépendante du modèle qui explique les prédictions individuelles ou l'interprétation par le modèle. (Consultez la page Interpretable Machine Learning de Molnar pour une présentation de l'interprétation agnostique des modèles.) Le calcul des SHAP est particulièrement coûteux, 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 aléatoire, il vous suffit de remplacer tfdf.keras.CartModel par tfdf.keras.RandomForestModel :

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

Avantages et inconvénients

Cette section résume brièvement les avantages et les inconvénients des forêts d'arbres décisionnels.

Avantages :

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

Inconvénients :

  • Étant donné que les arbres de décision ne sont pas éliminés, ils peuvent être volumineux. Les modèles de plus de 1 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 d'arbres décisionnels ne peuvent pas apprendre ni réutiliser des représentations internes. Chaque arbre de décision (et chaque branche de chaque arbre de décision) doit réapprendre le modèle de l'ensemble de données. Dans certains ensembles de données, notamment les ensembles de données non tabulaires (par exemple, les images et les textes), les forêts aléatoires sont moins performantes que les autres méthodes.